java类成员初始化顺序
2016-11-29 00:00
197 查看
一、顺序
1.类成员变量的初始化在构造方法调用之前。
2.static成员比普通成员先初始化。
3.静态代码块优先初始化。
二、验证代码
public class StaticClass {
private CommonClass commonClss = new CommonClass();
public static String attr = "StaticClass静态属性";//静态字段
public StaticClass(){
System.out.println("StaticClass构造方法");
}
/**
* 静态代码块
*/
static {
System.out.println("StaticClass静态代码块");
}
/**
* 静态方法
*/
public static void method(){
System.out.println("StaticClass静态方法");
}
}
public class CommonClass {
public CommonClass(){
System.out.println("CommonClass构造方法");
}
}
public static void main(String[] args) {
//1.验证成员变量初始化在调用构造方法之前
StaticClass instance = new StaticClass();
}
1.类成员变量的初始化在构造方法调用之前。
2.static成员比普通成员先初始化。
3.静态代码块优先初始化。
二、验证代码
public class StaticClass {
private CommonClass commonClss = new CommonClass();
public static String attr = "StaticClass静态属性";//静态字段
public StaticClass(){
System.out.println("StaticClass构造方法");
}
/**
* 静态代码块
*/
static {
System.out.println("StaticClass静态代码块");
}
/**
* 静态方法
*/
public static void method(){
System.out.println("StaticClass静态方法");
}
}
public class CommonClass {
public CommonClass(){
System.out.println("CommonClass构造方法");
}
}
public static void main(String[] args) {
//1.验证成员变量初始化在调用构造方法之前
StaticClass instance = new StaticClass();
}
相关文章推荐
- Java类成员初始化顺序与数组初始化
- java成员变量的初始化顺序
- Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数
- Java父类、子类、静态成员和普通成员初始化的顺序
- java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解
- java类的成员初始化顺序
- Java中的初始化顺序(静态成员、静态初始化块,普通成员、普通初始化块、构造函数)
- Java 类的成员初始化顺序
- Java中创建对象时,初始化成员变量的代码的执行顺序
- java学习个人笔记---类成员变量初始化顺序
- Java中的成员初始化顺序和内存分配过程
- java 父类子类静态成员,实例成员,构造函数初始化的顺序
- java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下:
- java基础---静态变量,成员变量,局部变量及类的初始化顺序
- java类的成员初始化顺序和初始化块知识
- java 构造函数 成员函数初始化顺序 以及多态的构造函数的调用顺序
- Java基础-类成员初始化顺序
- java 父类子类静态成员,实例成员,构造函数初始化的顺序
- java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解
- Java成员初始化顺序