首页 / JAVA / Java中类的初始化顺序
Java中类的初始化顺序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java中类的初始化顺序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1898字,纯文字阅读大概需要3分钟。
内容图文
![Java中类的初始化顺序](/upload/InfoBanner/zyjiaocheng/1308/f582669ce5dc413db6a9c26730cfc69d.jpg)
规则:
1.静态变量>普通变量>构造方法
2.变量定义的顺序决定初始化的顺序
3.静态变量和静态块是一样的,普通变量和非静态块是一样的,即可以把静态块看作是静态变量,把非静态块看作是普通变量
public class Test1 { public static void main(String[] args) { new D(); } } class C{ public C(String s){ System.out.println(s); } } class D{ /* D的构造方法 */ public D(){ System.out.println("D的构造方法"); } /* D的非静态变量 */ private C c1 = new C("变量1"); private C c2 = new C("变量2"); /* D的静态变量 */ private static C c3 = new C("静态变量1"); private static C c4 = new C("静态变量2"); /* D的静态初始化块 */ static{ System.out.println("D的静态初始化块。。"); } /* D的实例初始化块 */ { System.out.println("D的实例初始化块。。"); } }
执行结果:
静态变量1
静态变量2
D的静态初始化块。。
变量1
变量2
D的实例初始化块。。
D的构造方法
二、一个类的初始化顺序(有继承情况)
规则:
1.父类的初始化>子类的初始化
2.静态变量>普通变量>构造方法
3.变量定义的顺序决定初始化的顺序
4.静态变量和静态块是一样的,普通变量和非静态块是一样的,即可以把静态块看作是静态变量,把非静态块看作是普通变量
public class Test2 { public static void main(String[] args) { new B(); } } class Feild{ public Feild(String s){ System.out.println(s); } } class A{ /* A的构造方法 */ public A(){ System.out.println("父类的构造方法"); } /* A的非静态变量 */ private Feild f1 = new Feild("父类变量1"); private Feild f2 = new Feild("父类变量2"); /* A的静态变量 */ private static Feild f3 = new Feild("父类静态变量1"); private static Feild f4 = new Feild("父类静态变量2"); /* A的静态初始化块 */ static{ System.out.println("父类的静态初始化块。。"); } /* A的实例初始化块 */ { System.out.println("父类的实例初始化块。。"); } } class B extends A{ /* B的构造方法 */ public B(){ System.out.println("子类的构造方法"); } /* B的非静态变量 */ private Feild f5 = new Feild("子类变量1"); private Feild f6 = new Feild("子类变量2"); /* B的静态变量 */ private static Feild f7 = new Feild("子类静态变量1"); private static Feild f8 = new Feild("子类静态变量2"); /* B的静态初始化块 */ static{ System.out.println("子类的静态初始化块。。"); } /* B的实例初始化块 */ { System.out.println("子类的实例初始化块。。"); } }
执行结果:
父类静态变量1
父类静态变量2
父类的静态初始化块。。
子类静态变量1
子类静态变量2
子类的静态初始化块。。
父类变量1
父类变量2
父类的实例初始化块。。
父类的构造方法
子类变量1
子类变量2
子类的实例初始化块。。
子类的构造方法
原文:http://blog.csdn.net/u010651186/article/details/41073861
内容总结
以上是互联网集市为您收集整理的Java中类的初始化顺序全部内容,希望文章能够帮你解决Java中类的初始化顺序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。