日期:2014-05-20  浏览次数:20719 次

一个java基础问题,
public   class   Parent
{
        public   Parent()
        {
                this.test();
        }

        public   void   test()
        {
        }

        public   static   void   main(String[]   args)
        {
                new   Child();
        }

}

class   Child   extends   Parent
{
        private   String   instanceValue;
       
        public   void   test()
        {
                System.out.println( "instance   value   is:   "   +   instanceValue);
        }
}
输出0,为嘛??

------解决方案--------------------
首先分析一下应该是由父类的构造器里调用Test()函数这时instanceValue 已经被声明还未被初始化
就像是
声明如下的类:
public class A{

private int i;
public A(int i)
{
this.i = i;
}

}
你说this.i 在被赋值之前是几?