美文网首页
静态加载顺序 - 代码实现

静态加载顺序 - 代码实现

作者: Earl_iu | 来源:发表于2019-01-22 11:51 被阅读0次

最近在学习单例模式的时候看到了使用静态内部类的方法来实现懒加载,当时对静态的加载顺序还是有点云里雾里,写下一串代码来实践一个类静态的加载顺序

class ConDemo
{
    public static void main(String[] args)
    {
        cons.test();
        System.out.println("---------");
        cons c1 = new cons();
        System.out.println("---------");
        cons c2 = new cons();
        System.out.println("---------");
        cons.sc.hehe();
        System.out.println("---------");
        cons.c;

    }
}
class cons
{
    public static cons c = new cons();  // 静态变量
    public cons()    //是给对应的对象进行针对性的初始化
    {
        System.out.println("构造函数代码块");
    }
    
    static
    {
        System.out.println("静态函数代码块");
    }
    
    {    //构造代码块,可以给所有的对象进行初始化
        System.out.println("函数代码块");
    }
    
    public static void test()
    {
        System.out.println("静态方法代码块");
    }
    static class sc{        // 静态内部类
        public static void hehe(){
            System.out.println("内部类静态函数代码块");
        }
    }
}

静态函数代码块
函数代码块
构造函数代码块
静态方法代码块
---------
函数代码块
构造函数代码块
---------
函数代码块
构造函数代码块
---------
内部类静态函数代码块

从这里我们发现,静态内部类的实现并不依赖于外部类,加载内部类的时候不会加载外部类,静态函数代码块会优先于其他代码块优先加载,并且只会加载一次,并且静态方法在我们不去调用的时候并不会加载。

相关文章

  • 静态加载顺序 - 代码实现

    最近在学习单例模式的时候看到了使用静态内部类的方法来实现懒加载,当时对静态的加载顺序还是有点云里雾里,写下一串代码...

  • JAVA的类加载顺序

    理解关于java类的加载顺序 首先来捋一捋java类的加载顺序吧 父类静态代码块 》》静态代码初始化,静态属性(带...

  • java之静态代码块与构造方法加载次序

    java中的静态代码块,非静态块,构造办法的加载顺序是这样的:静态代码块 (程序加载时一次)--->非静态块(每次...

  • 类加载时,static、非static、构造的加载顺序

    demo 结论 类加载时,会首先初始化静态属性、执行静态代码块,顺序为代码声明顺序。如果有继承,则先加载父类的,然...

  • Java父子类加载顺序

    加载顺序 先上桌结论: 父类静态属性(成员变量) > 父类静态代码块 > 子类静态属性 > 子类静态代码块 > 父...

  • 猿学-java有什么用java基础技术总结

    加载顺序 父类静态成员->父类静态代码块-> 子类静态成员->子类静态代码块-> 父类普通成员->父类代码块->父...

  • 类加载-初始化阶段

    加载顺序总结 父类的静态字段——>父类静态代码块——>子类静态字段——>子类静态代码块——>父类成员变量(非静态字...

  • 包含子父类的类加载顺序

    先加载父类的静态代码块/静态成员(父类中中都有或有多个有,按书写顺序) ------------- 加载子类的静态...

  • java代码的执行顺序

    若类还未被加载 先执行父类的静态代码块和静态变量初始化,并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关...

  • java相关零碎知识

    java初始化,加载顺序: 父类的静态成员变量,父类静态代码块,子类的静态成员变量,子类的静态代码块,父类非静态成...

网友评论

      本文标题:静态加载顺序 - 代码实现

      本文链接:https://www.haomeiwen.com/subject/hvrljqtx.html