栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java static加载顺序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java static加载顺序

个人学习总结:

1.含有static的静态代码块和类变量先执行,执行一次之后就不再需要加载,静态代码块和类变量没有特定的先后顺序,按照代码顺序执行

2.如果类之间存在继承关系,先加载父,在加载子的内容

3.单独一个类的加载顺序应该是,静态代码块(类变量)--------成员变量-----------构造方法

注:静态方法是调用才会执行

测试代码:

public class Girl {
    Person person = new Person("Girl");
    static{
        System.out.println("Girl static");
    }
    static Person staticPerson = new Person("GirlStaticPerson");
    public Girl() {
        System.out.println("Girl constructor");
    }
    public static void main(String[] args) {
        new MyGirlFriend();
    }
}
class Person{
    static{
        System.out.println("person static");
    }
    static Person staticPerson = new Person("PersonStaticPerson");
    public Person(String str) {
        System.out.println("person "+str);
    }
}
class MyGirlFriend extends Girl {
    Person person = new Person("MyGirlFriend");
    static Person myStaticPerson = new Person("MyStaticPerson");
    static{
        System.out.println("MyGirlFriend static");
    }
    public MyGirlFriend() {
        System.out.println("MyGirlFriend constructor");
    }

}

输出结果:

Girl static
person static
person PersonStaticPerson
person GirlStaticPerson
person MyStaticPerson
MyGirlFriend static
person Girl
Girl constructor
person MyGirlFriend
MyGirlFriend constructor

学习下方博客,感觉他对加载顺序总结的很好:先静后非,先父后子,先块后器。

个人学习记录,如有侵权,会主动删除该文章。

 参考资源:java static 加载顺序_一个例子搞清楚Java类加载顺序_愿水长流的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号