代码:
public class Main {
public static void test(){
System.out.println("父类--静态方法"); //被子类的相同方法覆盖
}
static {
System.out.println("父类--静态代码块");
}
public Main() {
System.out.println("父类--构造函数");
}
{
System.out.println("父类--非静态代码块");
}
public static void main(String[] args) {
ExB.test();
new ExB();
}
}
class ExB extends Main {
public static void test(){
System.out.println("子类--静态方法");
}
static {
System.out.println("子类--静态代码块");
}
{
System.out.println("子类--非静态代码块");
}
public ExB() {
System.out.println("子类--构造函数");
}
}
打印结果:执行顺序
而对于构造函数是否是静态方法:《java编程思想》中: