*java类的生命周期

(1)

 

示例:

(1)/testJavaBasic/src/com/test/Parent.java

package com.test;

public class Parent {
    
    protected static String attrStatic = "父类的初始化------运行静态赋值语句";
    
    public Parent(){
        System.out.println("           1.2父类的构造函数");
    }
    
    static{
        System.out.println(attrStatic);
        System.out.println("父类的初始化------运行静态代码块");
    }
    
    {
        System.out.println("           1.1父类的普通代码块");
    }
}

 

(2)/testJavaBasic/src/com/test/Child.java

package com.test;

public class Child extends Parent{
    
    private static String attrStatic = "子类的初始化------运行静态赋值语句";
    
    public Child(){
        System.out.println("           2.2子类的构造函数");
    }
    
    static{
        System.out.println(attrStatic);
        System.out.println("子类的初始化------运行静态代码块");
    }
    
    {
        System.out.println("           2.1子类的普通代码块");
    }
    
    public static void main(String[] args){
        System.out.println("-----子类实例化开始-----");
        Child t = new Child();
        System.out.println("-----子类实例化结束-----");
        System.out.println("获取子类的父类 "+t.getClass().getSuperclass());
    }
}

 

运行结果是:


父类的初始化------运行静态赋值语句
父类的初始化------运行静态代码块
子类的初始化------运行静态赋值语句
子类的初始化------运行静态代码块
-----子类实例化开始-----
     1.1父类的普通代码块
     1.2父类的构造函数
     2.1子类的普通代码块
     2.2子类的构造函数
-----子类实例化结束-----
获取子类的父类 class com.test.Parent

 

 

posted @ 2018-10-25 19:18  吴桂鑫  阅读(173)  评论(0编辑  收藏  举报