Java 调用外部类重写方法

Java 调用外部类重写方法,java,this,inner-classes,Java,This,Inner Classes,我有两节课。外部类mainnony和一个无注释的内部类,该类重写外部类mainnony方法display(),但使用外部类引用 class Mainannony { public void display(){ System.out.println("java annonymous"); } public static void main(String arg[]) { Mainannony a1=new Mainannony(){

我有两节课。外部类
mainnony
和一个无注释的内部类,该类重写外部类
mainnony
方法
display()
,但使用外部类引用

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()
调用外部类方法时,它显示了一个错误
非静态变量,该变量不能从静态上下文引用

您正在创建的
display()
方法覆盖默认实现;您正在创建
mainnony
的匿名子类。因此,如果要从匿名类中调用默认实现,可以使用
super.display()
。在匿名类之外,就像在
main()
方法中一样,仅仅引用匿名实例
a1

是不可能的,
main
static