顺序是静态代码块,普通代码块,构造函数。对于子类继承父类,且子类
中也有自己的静态代码块,普通代码块,构造函数。当我们实例化一个对象时
首先输出的是父类静态代码块,子类静态代码块,父类普通代码块,父类构造函数
子类普通代码块,子类构造函数。
*/
简单举例:
class HelloA{
public HelloA(){
System.out.println("HelloA");
}
//普通代码块
{
System.out.println("I am a class");
}
//静态代码块
static{
System.out.println("static A");
}
}
public class HelloB extends HelloA{
public HelloB(){
System.out.println("helloB");
}
{
System.out.println("I am a class");
}
static{
System.out.println("static B");
}
public static void main(String[] args){
new HelloB();
}
}
/*
输出结果:static A
static B
I am a class
HelloA
I am a Class
HelloB
*/
3 个解决方案
#1
#2
i am a class
A类和B类中输出这句话时,有区别才能看出效果。
A类和B类中输出这句话时,有区别才能看出效果。
#3
嗯,说的有道理,不过,这样也可以看出来吧
#1
#2
i am a class
A类和B类中输出这句话时,有区别才能看出效果。
A类和B类中输出这句话时,有区别才能看出效果。
#3
嗯,说的有道理,不过,这样也可以看出来吧