当前位置: 代码迷 >> Java相关 >> Java中成员属性赋值是什么时候执行的?解决思路
  详细解决方案

Java中成员属性赋值是什么时候执行的?解决思路

热度:4304   发布时间:2013-02-25 21:49:25.0
Java中成员属性赋值是什么时候执行的?
比如
class a{
int n=9;
class a=new class a();
static class b= new class a();
static int num=89;
}
这些都是什么时候执行的赋值语句??

------解决方案--------------------------------------------------------
静态成员、静态内部类、静态方法等都是在类加载的时候运行一次的。类加载时还没有产生类对象,而且类只会被一个 ClassLoader 加载一次。

非静态成员、非静态内部类、非静态方法是在创建对象时初始化的。
------解决方案--------------------------------------------------------
学习了
------解决方案--------------------------------------------------------
哦,火龙果在,没戏了。顶一下,呵呵
------解决方案--------------------------------------------------------
火龙果说的很对,lZ,可以结贴了
------解决方案--------------------------------------------------------
1楼正解!!!!!!!!!!!!!!!!!!!!!!!!!!!!
------解决方案--------------------------------------------------------
Java code
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();   }}/*实例初始化块和实例成员变量的初始化顺序跟他们出现的顺序一致。*/
------解决方案--------------------------------------------------------
应该是在类初始化的时候执行的吧