java - 内部类中的方法可以访问父类方法吗?

标签 java inner-classes

我不确定我的问题标题是否恰本地描述了我的情况,如果没有,我深表歉意!无论如何,假设我有以下代码片段(可见性如前所述):

public class ChildClass extends ParentClass {
    // more code
   private void myMethod() {
      MyClass mine = new MyClass() {
         public void anotherMethod() {
            // insert code to access a method in ParentClass
         }
      };
   }
}

anotherMethod() 中的代码是否可以访问 ParentClass 中的 protected 方法?如果可以,如何实现?

我试过类似...

(ParentClass.this).parentMethod();

...但显然由于范围问题它不起作用。

最佳答案

这编译得很好:

class MyClass {
}

class ParentClass {
    protected void parentMethod() {
    }
}

class ChildClass extends ParentClass {
    private void myMethod() {
        MyClass mine = new MyClass() {
            public void anotherMethod() {
                parentMethod(); // this works
            }
        };
    }
}

关于java - 内部类中的方法可以访问父类方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5714727/

相关文章:

java - 通过绑定(bind)从服务到 Activity 进行通信?

java - Apache ANT 在更改源代码时不会更改类文件

java - 如何以 kb 为单位获取位图的大小

java - 无法在内部类中引用/修改非最终变量

java - 嵌套在泛型中的类的泛型使用

java - 匿名内部类中的 NullPointerException

java - java内部类的排序 vector

java - 在 Java 中用内部类拆分大类

java - 将无符号字节转换为有符号字节

java - 找不到符号 = 新