构造方法,静态代码块,成员变量的加载顺序.
静态变量—>静态代码块—>成员变量—>代码块—>构造方法
1.静态代码块:
在类加载时即运行,而且只运行一次,并且优于各种代码块以及构造函数运行,如果一个类中有多个静态代码块,会按照书写顺序依次执行,静态代码块不能访问普通变量(普通变量只能通过对象来调用).
2.构造代码块:
在创建对象时被调用,每次创建对象都会调用一次,但是优于构造函数执行,如果不能实例化对象,构造代码块不会执行,如果存在多个构造代码块,则执行顺序按照代码顺序依次执行(多个构造函数情况下,创建对象时传入的参数不同则初始化对应的构造函数).
3.构造函数:
不能被直接调用,必须通过new运算符在创建对象时才会自动调用,而一般的方法是在程序执行到他的时候被调用的,当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过java编译期会提供一个默认的构造函数,此默认构造函数是不带参数的,一般的方法则不具有这一特