public class BaseClass {
BaseClass() {
method();
}
public void method() {
System.out.println("BaseClass的方法");
}
}
class SupClass extends BaseClass
{
private String str = "supClass";
public void method()
{
//super(); 下面代码是用匿名内部类实现对method的重写,也就是用的是父类的方法,但是方法体是子类的
new BaseClass()
{
public void method()
{
System.out.println("SupClass.method()");
System.out.println(str);//如果这样写的话,这里就有个问题出现了,str是什么时候被初始化成null的,父类是不存在str的引用
}
}.method();
}
}红色字体部分的详细解释?
|
|