Java加载顺序,
分享于 点击 7181 次 点评:53
Java加载顺序,
public class Ho{
public static String str="静态成员变量";
public static String getStr(){
System.out.println("静态方法");
return "返回的静态方法";
}
{
System.out.println("非静态初始化块");
}
static
{
System.out.println("静态初始化块");
//str=getStr();
}
public Ho()
{
System.out.println("构造方法");
}
public static void main(String args[]){
//Ho a=new Ho();
//System.out.println(Ho.str);
}
}
创建对象实例后
java在首次装入类时,会对静态成员变量和静态方法进行一次初始化,但方法不被调用则不会执行;
由此可知,java在加载类时顺序
初始化静态块–>(实例化对象)–>
初始化非静态块–>构造函数
若为子父类继承关系且当主函数在子类当中
初始化父类静态块–>初始化子类静态块–>(实例化对象)–>
初始化父类非静态块–>父类构造方法–>
初始化子类非静态块–>子类构造函数
相关文章
- 暂无相关文章
用户点评