----------------------------------------------用于加深自己的印象了,谢谢原著了
言归正传
java 中的代码块分为 静态代码块、构造代码块、构造函数
静态代码块:
static 声明,jvm 加载类时执行,仅执行一次。
构造代码块:
类中直接用{}定义,每一次创建对象时执行。
构造函数
public A(){
//构造函数
}
关于构造函数,以下几点要注意:
1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的。
2.构造函数的作用是用于给对象进行初始化。
3.一个对象建立,构造函数只运行一次,而一般方法可以被该对象调用多次。
构造代码块
{
//构造代码块
}
关于构造代码块,以下几点要注意:
1、构造代码块的的作用是给对象进行初始化
2、对象一建立就运行构造代码块了,而且优先于构造函数,这里要强调一下,有对象建立,才会运行构造代码块,类不能调用构造代码块。
3、构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数可以是多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会执行相同的构造代码块,也就是说,构造代码块是定义的不同对象的共性初始化内容。
静态代码块
static{
//静态代码块
}
关于静态代码块,要注意的是:
1、他是随着类的加载而加载,只执行一次,并且优先于主函数,具体说,静态代码块是由类调用的,类调用时,先执行静态代码块,然后才执行主函数的。
2、静态代码块其实就是给类初始化的,而构造代码块是给对象初始化的。
3、静态代码块中的变量是局部变量,与普通函数中的局部变量么有区别。
4、一个类中可以有多个静态代码块。