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,为嘛??
{
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,为嘛??
它咋的就知道这是个int的还是String的??
这样输出0
public class Parent
{
public Parent()
{
this.test();
} public void test()
{
} public static void main(String[] args)
{
new Child();
}}class Child extends Parent
{
private int instanceValue = 100;
public void test()
{
System.out.println("instance value is: " + instanceValue);
}
}
{
public int instanceValue = 100;
public int i;
public Parent()
{
this.test();
} public void test()
{
} public static void main(String[] args)
{
new Child();
}}class Child extends Parent
{
//注释掉这一句打印100 不注释掉打印0????????
public int instanceValue = 200;
public void test()
{
System.out.println("instance value is: " + instanceValue);
}
}
就像是
声明如下的类:
public class A{ private int i;
public A(int i)
{
this.i = i;
}
}
你说this.i 在被赋值之前是几?
http://wfengxiao.spaces.live.com/blog/cns!d1042b4458031c52!119.entry
默认初始化这个是关键所在吧 ~~