类的加载顺序

原创
08/20 14:51
阅读数 14

code:

package com.qimh.springbootfiledemo.ClassInstanceOrder;

/**
 * 类的初始化顺序
 * 1.静态代码块优先级最高
 *   a.父类的静态代码块和静态变量按代码顺序执行
 *   b.子类的静态代码块和静态变量按代码顺序执行
 * 2.实例变量和示例代码块和构造方法
 *   a.父类的实例变量和实例代码块按代码顺序执行
 *   b.父类的构造方法
 *   c.子类的实例变量和示例代码块按代码顺序执行
 *   d.之类的构造方法
 * @author
 */
public class ClassInstanceOrder {

    public static void main(String[] args){
        Dervied dervied = new Dervied();
    }


}

class Base {
    private static  String name = "公众号";
//    {
//        name = "公众号ddd";
//    }
//    static {
//        name = "公众号fff";
//    }
    public Base(){
        System.out.println("Base construct name:" + name);
        tellName();
    }

    public void tellName(){
        System.out.println("Base tell name:" + name);
    }
}

class Dervied extends Base{
    private String name = "Java3y";

    public Dervied(){
        tellName();
    }
    @Override
    public void tellName(){
        System.out.println("Derivied tell name:" + name);
    }
}

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部