class A {
static{ System.out.println(" A 的静态块"); }
{ System.out.println(" A 的 非 静态块"); }
public A(){ System.out.println(" A 的构造方法"); }
public static void Astatic(){ System.out.println(" A 的静态方法"); }
}
class B extends A{
static{ System.out.println(" B 的静态块"); }
{ System.out.println(" B 的 非 静态块"); }
public B(){ System.out.println(" B 的构造方法"); }
public static void Astatic(){ System.out.println(" B 的静态方法"); }
}
public class T {
public static void main(String[] args) {
System.out.println("````````` A ab = new B();```````````````");
A ab = new B();
System.out.println("````````` B b = new B();```````````````");
B b = new B();
System.out.println("````````` A a = new A();```````````````");
A a = new A();
}
}
结果 :
````````` A ab = new B();```````````````
A 的静态块
B 的静态块
A 的 非 静态块
A 的构造方法
B 的 非 静态块
B 的构造方法
````````` B b = new B();```````````````
A 的 非 静态块
A 的构造方法
B 的 非 静态块
B 的构造方法
````````` A a = new A();```````````````
A 的 非 静态块
A 的构造方法
其它文章 : http://hi.baidu.com/injava/item/080b5d5e34890d12abf6d711