class A{
static{
System.out.print("1");
}
public A(){
System.out.print("2");
}
}
class B extends A{
static{
System.out.print("a");
}
public B(){
System.out.print("b");
}
}
class Hello{
public static void main(String[] ars){
new B(); //执行到此处,结果: 1a2b
new B(); //执行到此处,结果: 1a2b2b
new B(); //执行到此处,结果: 1a2b2b2b
new B(); //执行到此处,结果: 1a2b2b2b2b
}
}
类的static 代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造
博客介绍了类的static代码段,它是类首次被虚拟机加载时执行的代码。同时说明了类加载的顺序,即先执行基类的构造,再执行本身的构造。
3408

被折叠的 条评论
为什么被折叠?



