[英]calling outer class overridden method
我有两节课。 外部类Mainannony
和一个匿名内部类,它覆盖外部类Mainannony
方法display()
但使用externalclass类引用。
class Mainannony {
public void display(){
System.out.println("java annonymous");
}
public static void main(String arg[]) {
Mainannony a1=new Mainannony(){
public void display(){
System.out.println("this is the annonymous class");
}
};
a1.display();
}
}
调用内部方法有效。 但是,当我尝试使用outerclass.this.method()
调用外部类方法时,它显示了non static variable this cannot be referenced from a static context
错误, non static variable this cannot be referenced from a static context
该错误。
您正在创建的display()
方法将覆盖默认实现; 您正在创建Mainannony
的匿名子类 。 因此,如果您想从匿名类中调用默认实现,则可以使用super.display()
。 在匿名类之外,就像在main()
方法中一样,仅引用匿名实例a1
是不可能的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.