当你的类加载进内存开始到你不在用到这个类时结束.当你用这个类的时候,比如创建一个类的对象,或者用到调用这个类的方法时候,在或者用到这个类的子类对象.,类才加载进内存,如果一个类加载进内存只加载非静态的变量和方法,静态的变量和方法都不进内存进方法区,当你调用一个类的静态变量的时候这时候的类并没有进入到内存只是在方法区中调用这些静态成员.写个代码
package tess;
public class tess2 {
public static void main(String[] args){
System.out.println(A.a);
}
}
class A{
static int a = 4;
A(){System.out.println("aaaaaa");};
{System.out.println(1111);}
} 上面这个代码如果A要是加载进内存的话输出语句肯定会执行到,可是结果显示并没有打印输出语句. |