面向对象相关知识

来源:互联网 发布:51单片机电机参数 编辑:程序博客网 时间:2024/05/18 02:01

1.类和面向对象的对比

类是用于描述具体事物的共性,包含了它的属性和行为。

属性:变量;行为:函数。

属性和行为都是类的成员。


2.匿名对象的使用情况:

 (1),当对对象只调用一次方法时,使用匿名对象比较方便。

 (2),将匿名对象当实际参数来传递。


3.构造函数注意点:
(1), 对象一建立就会调用该对象的构造函数;

(2),构造函数的作用是初始化对象。


4.一般函数和构造函数的不同点:

(1)写法上不同:构造函数的函数名与类名相同,没有返回类型,不可以写return。

(2)运行上不同:构造函数在对象被初始化时自动运行,且只运行一次。一般函数在被调用时运行,且可以被多次调用。


5.构造代码块和构造函数的不同点:

构造代码块:对对象共性初始化;对象一建立就运行,优先于构造函数;对所有对象进行初始化。

构造函数:对对应对象初始化。


6.this注意点:

哪个对象调用this所在的函数,this就代表哪个对象。

this语句用于构造函数之间相互调用,且,this语句只能放在构造函数第一行,因为,初始化要先执行。


7.关键字static

static是一个修饰符,用于修饰成员(成员变量,成员函数),也可以修饰函数。

static修饰的成员不仅能被函数调用,它也能直接被调用,用法:  类名.静态成员  。

static的特点:

(1)随着类的加载而加载

(2)优先于对象存在

(3)被所有对象共享

(4)被类名直接调用

TIPS:当将类中的方法设置成static后,为了防止生成对象占用空间,可以将构造函数私有化。


8.静态代码块

静态代码块格式:

static

{

静态代码块执行语句;

}

特点:随着类的加载而执行,只执行一次,并优先于主函数。

用于给类进行初始化。


9.对象的初始化过程

(1)new的时候调用了XX.class,所以会先找到XX.class这个文件,并加载到内存中。

(2)如果该类中有静态代码块,则先加载执行,给该类初始化。

(3)在堆内存中开辟空间,分配内存地址。

(4)在堆内存中建立对象的特有属性,并进行默认初始化。

(5)对对象进行显示属性初始化。

(6)对对象进行构造代码块初始化。

(7)对对象进行构造函数初始化。

(8)将堆内存地址复给栈内存中的变量。

原创粉丝点击