第一次创建对象的实例,以及访问static的成员,都能引发类的装载,但是类只会装载一次。
下面的程序演示了这个原则。
class LoadTest {
LoadTest() {
System.out.println("Loading LoadTest");
}
static void staticMember() {}
}
public class E05 {
public static void main(String args[]) {
System.out.println("Creating an object");
new LoadTest();
System.out.println("Calling static member");
LoadTest.staticMember();
}
}
输出结果:
Creating an object
Loading LoadTest
Calling static member
如果将创建对象的实例和访问static成员的顺序交换一下,输出结果会变成如下:
Calling static member
Loading LoadTest
Creating an object