class A{}class C{}class D{}public class aa extends A{ // 基类A 在实例化前被装载
C cc; // (组合)类在实例化前装载, 还是在实例化时被装载
D dd;
public static void main(String[] args)
{
A a = new A();
}
}
C cc; // (组合)类在实例化前装载, 还是在实例化时被装载
D dd;
public static void main(String[] args)
{
A a = new A();
}
}
只有在NEW的时候才装载
static {
System.out.println("Class A is loaded.");
}
}class B {
static {
System.out.println("Class B is loaded.");
}
}public class Test { // a testing class
public static void main(String[] args) {
A a;
B b;
//till now, no classes is loaded
a = new A();
b = new B();
}
}
static{
System.out.println("A.static");
}
A(){
System.out.println("A()");
}
}class C{
static{
System.out.println("C.static");
}
C(){
System.out.println("C()");
}
}class D{
static{
System.out.println("D.static");
}
D(){
System.out.println("D()");
}
}public class AA extends A{ // 基类A 在实例化前被装载
C c = new C();
D d = new D();
AA(){
System.out.println("AA()");
}
static{
System.out.println("AA.static");
}
public static void main(String[] args)
{
AA a = new AA();
}
}
好好看一下这个例子,就行了!