Java中成员属性赋值是什么时候执行的?
比如
class a{
int n=9;
class a=new class a();
static class b= new class a();
static int num=89;
}
这些都是什么时候执行的赋值语句??
[解决办法]
静态成员、静态内部类、静态方法等都是在类加载的时候运行一次的。类加载时还没有产生类对象,而且类只会被一个 ClassLoader 加载一次。
非静态成员、非静态内部类、非静态方法是在创建对象时初始化的。
[解决办法]
学习了
[解决办法]
哦,火龙果在,没戏了。顶一下,呵呵
[解决办法]
火龙果说的很对,lZ,可以结贴了
[解决办法]
1楼正解!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[解决办法]
class A{ A(){ System.out.println("construct A"); }}public class TestOrder{ {//实例初始化块 System.out.println("instance initialization"); } private A a=new A();//成员 public TestOrder(){//构造函数 System.out.println("construct TestOrder"); } public static void main(String[] args){ TestOrder to=new TestOrder(); }}/*实例初始化块和实例成员变量的初始化顺序跟他们出现的顺序一致。*/
[解决办法]
应该是在类初始化的时候执行的吧