JAVA类父子类方法调用关系

来源:互联网 发布:淘宝内衣向大大 编辑:程序博客网 时间:2024/06/08 11:33

public class Text extends Parent{

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         //Parent.parentStaticMethod();
       Child child = new Child();
    }
    

}
class Parent {
    public static int t = parentStaticMethod2();
    {
        System.out.println("父类非静态初始化块");
    }
    static
    {
        System.out.println("父类静态初始化块");
    }
    public Parent()
    {
        System.out.println("父类的构造方法");
    }
    public static int parentStaticMethod()
    {
        System.out.println("父类类的静态方法");
        return 10;
    }
    public static int parentStaticMethod2()
    {
        System.out.println("父类的静态方法2");
        return 9;
    }
 
    @Override
    protected void finalize() throws Throwable
    {
        // TODO Auto-generated method stub
        super.finalize();
        System.out.println("销毁父类");
    }
}

class Child extends Parent
{
    {
        System.out.println("子类非静态初始化块");
    }
    static
    {
        System.out.println("子类静态初始化块");
    }
    public Child()
    {
        System.out.println("子类的构造方法");
    }
    public static int childStaticMethod()
    {
        System.out.println("子类的静态方法");
        return 1000;
    }
    @Override
    protected void finalize() throws Throwable
    {
        // TODO Auto-generated method stub
        super.finalize();
        System.out.println("销毁子类");
    }
}

总结起来就是:

父类的静态方法-父类的静态初始化块-子类的静态初始化块-父类的非静态初始化块-父类的构造方法-子类的非静态初始化块-子类的构造方法

-------------------------静态方法---------------------------------|-------------------------非静态方法(构造方法应该归于非静态)---------------------|

0 0
原创粉丝点击