标题: 写出调用 new Child()程序运行的结果 [打印本页] 作者: 壊亊唑侭 时间: 2015-8-24 20:34 标题: 写出调用 new Child()程序运行的结果
public class Base
{
private int a=init("init a");
private static int b=init("init b");
public Base()
{
System.out.println("init Base");
}
public void init(String str)
{
System.out.println(str);
}
}
public class Child extends Base
{
private int x=init("init x");
private static int y=init("init y");
public Child()
{
System.out.println("init child");
}
}
privateinta=init("init a");
privatestaticintb=init("init b");
private int x = init("init x");
private static int y = init("init y");
这四句会出现编译错误,因为init()这个方法返回值为空。
错误二:
把init()方法返回一个int,还是报编译错误,错误原因:非静态方法给静态变量赋值,静态变量随类的存在而存在,而非静态方法在类加载的时候还不能使用,所以报错。