对象创建执行过程

//子类创建 先调用父类的 构造器, 调用父类构造器之前,先看有没有静态化方法(包括父子所有 先父类 再子类),父类的实例变量初始化之后才父类的构造器。
//同理子类的 实例变量初始化后才子类的构造器。

public class ChildObjectTest extends Parent{
 private int k;
 private static int b;
 
 {
  System.out.println("kkk");
  k++;
 }
 
 static {
  b = b+19;
  System.out.println("b===="+b);
 }
 
 {
  System.out.println("tt");
  k++;
  System.out.println(k);
 }
 
 public ChildObjectTest(){
  System.out.println("childObjectTest....");
 }
 
 public static void main(String[] args) {
  new ChildObjectTest().test();
  new ChildObjectTest().test2();
 }
 
 public void test(){
  System.out.println(k);
  System.out.println(b);
 }
 
 public void test2(){
  System.out.println("test2...........static is only ..........initializing for everyone......");
 }
}

class Parent{
 //静态代码块
 static{
  System.out.println("supper static");
 }
 
 //实例变量初始化
 {
  System.out.println("supper initializing ");
 }
 
 public Parent(){
  System.out.println("supper parent");
 }
}

------------------------------------------------------------

supper static
b====19
supper initializing
supper parent
kkk
tt
2
childObjectTest....
2
19
supper initializing
supper parent
kkk
tt
2
childObjectTest....
test2...........static is only ..........initializing for everyone......

 

你可能感兴趣的:(静态代码块,构造器,初始化块,父子继承)