刚刚学完继承,尝试着总结了下代码块,静态代码块,构造代码块,构造函数之间的关系,大家看看有什么不妥,共同进步...
代码块:
使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块.
静态代码块:
在类中方法外出现,并加上static修饰.
作用:给类进行初始化,在加载的时候执行一次.
构造代码块:
在类中方法外出现,在对象的创建之前执行一次.
构造函数:
在类中方法外出现,用于给对象成员变量进行初始化.
在继承中运行的先后顺序:
当子类开始创建对象,静态代码块父类和子类的加载而加载,加载完成之后,java虚拟机调用子类的构造方法,会先调用父类的构造方法super(参数列表),然后父类的构造代码块开始加载,加载完成之后,父类的构造函数开始加载,等父类的成员变量初始化完成之后,子类开始初始化自己特有的成员变量,同样也是先运行构造代码块,在运行构造方法. |
|