类中变量 代码块 构造方法 的加载顺序
来源:互联网 发布:电脑防护软件排行 编辑:程序博客网 时间:2024/05/21 17:46
通过Java反射API也可能造成类和接口的初始化。需要注意的是,当访问一个Java类或接口中的静态域的时候,只有真正声明这个域的类或接口才会被初始化。考虑下面的代码:
class B { static int value = 100; static { System.out.println("Class B is initialized."); //输出 }}class A extends B { static { System.out.println("Class A is initialized."); //不会输出 }}public class InitTest { public static void main(String[] args) { System.out.println(A.value); //输出100 }}
在上述代码中,类InitTest通过A.value引用了类B中声明的静态域value。由于value是在类B中声明的,只有类B会被初始化,而类A则不会被初始化。
以下是对类的初始化的一些总结:
1:继承类时会调用父类的Static的成员变量和Static代码块、顺序是按照2个Static代码的先后顺序执行
2:继承情况下,首先是从顶层父类的静态变量和代码块开始执行,依次向下。
3:同一个类中,执行的顺序是依照静态变量和静态代码在类中的编码顺序执行,:变量和代码块无任何优先级之分。
全部继承树中的类静态变量和代码块都初始化完毕后,开始从顶层父类执行非静态的类变量和类代码块初始化,执行顺序同静态,
然后紧接着是执行构造函数,完毕后才向下,执行子类的类变量、代码块和构造函数。 非静态内部类中不能定义类静态代码块和非final的类静态变量;
静态内部类,可以声明非final的静态变量和静态代码块。
- 类中变量 代码块 构造方法 的加载顺序
- Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序
- java 中类初始化,构造方法,静态成员变量,静态块的加载顺序
- java中静态代码块、代码块、构造方法的加载顺序
- Java 子类、父类变量、代码块、构造方法加载顺序
- java 静态代码块、静态变量、成员变量、构造代码块、构造方法的执行顺序
- 关于类中静态块,静态方法,构造代码块,构造方法的执行顺序
- 类的加载、创建对象、静态变量static、构造函数、静态代码块、构造代码块、构造方法以及总结
- Java的静态变量,成员变量,静态代码块,构造块的加载顺序
- 静态代码块、静态变量、构造代码块、构造方法的执行顺序
- 静态代码块,构造代码块,构造方法的加载执行顺序研究
- JAVA中静态代码块,构造代码块,构造函数的加载顺序
- java中静态代码块,构造代码块,构造方法,main方法的执行顺序
- 探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解
- 设计模式(3)——结构性模式
- 各国各运营商MCC,MNC号
- Java剖析工具YourKit Java Profiler
- Windows命令行参数的转义(dos/cmd.exe下输入双引号竖扛等特殊字符)
- Android键盘和触摸事件处理
- 类中变量 代码块 构造方法 的加载顺序
- 再来一个end——好像很有用
- 具说看完这21个故事的人,30岁前都成了亿万富翁。
- MFC 界面编程
- 位运算操作符
- SQL面试题
- 疑犯在警局内跳楼身亡 此前因聚赌携枪被捕
- yaffs文件系统在2.6内核上的移植--操作步骤(转载)
- Gedit快捷键