代码块概念:
 注意调用时机
 
 
 好处与使用场景
 将构造器的冗余部分提取到代码块 每个构造器执行时都会先执行代码块
 
静态代码块与普通代码块的区别

 注意:创建对象实例时,静态代码块只会被调用一次
 例子`
public Class DD{
	static{
		//打印"DD"
	}
	{
		//打印"new"
	}
}
DD d=new DD();
DD d1=new DD();
 
结果 DD被打印一次而new被打印两次
创建对象时类的调用顺序


 示例
 
 
 执行顺序 aaa父类(Object )->aaa普通代码块-> aaa构造器-> bbb普通代码块->bbb构造器
继承时的代码块初始化顺序
new的时候两个动作(类加载+初始化)
 静态代码块和属性(父>子)->(普通代码块和属性->构造器)(父>子)
 
 示例:
 父类静态代码块 静态属性
 
 子类静态代码块 静态属性
 
 父类普通方法普通属性
 
 父类构造方法
 
 子类普通方法普通属性(若有多个按定义顺序执行)
 父类普通方法普通属性



















