面对对象基础要点

1.面向过程与面对对象

面向过程:专注于解决问题

面对对象:要经过完整的分析,设计才可以进行开发

面对对象的程序开发主要分三种:OOA(面对对象的分析),OOD(面对对象的设计),OOP(面对对象的程序)

特征:封装(对外部不可见)  继承 (扩展类的功能)  多态(重载,对象的多态性)

2.类与对象

类是对某一类事物的描述是抽象的

对象是实际存在的该类的个体,也称实例

类实际上相当于对象操作的图纸,图纸生产出来的对象才可以给用户使用;

没有类则肯定没有对象产生;没有对象类也无法使用;对象的一切操作在类中都已经定义出来了;

对象如果未被实例化则会出现空指向异常;

3.类与对象的定义

a,类

class 类名称{

  属性     //类名书写规则:首字母大写

  方法()

}

构造方法的主要目的是为类中的属性进行初始化构造方法名与类名相同,但是没有return返回值,在使用关键字new 的时候调用,如果一个类中没有明确定义一个构造方法,则会自动生成一个无参的,什么都不做的构造函数,也就是说每一个类至少有一个一个构造方法存在构造方法本身也可以进行重载的,只要参数类型不同或者个数不同就可以进行方法重载;

b.对象

1.类名  对象名称=null; //对象声明(声明的对象名保存在栈 中)

   对象名称=new  类名()//实例化        实例化之后对象会开辟对应的堆内   { 存放的是对象的各个属性(对象只能依靠属性的不同来区分)}

2.类名  对象名称=new  类名();

*访问属性:对象名.属性名=数值;

*访问方法:对象名.方法()

如果对象在使用中只是声明的话无法直接使用,必须实例化才能正确使用;


只要已出现new就会开辟新的内存空间,所以多个对象不会相互影响


一个栈只能引用一个堆内存空间,一个对可以被多个栈指向


Java中不用的内存空间成为垃圾空间,处理垃圾空间的机制叫做垃圾收集机制(GC)

猜你喜欢

转载自blog.csdn.net/baidu_39067385/article/details/76736353