【发布时间】:2020-03-27 15:12:45
【问题描述】:
package demo;
class Child{
private static int a=50;
public void fin() {
System.out.println("hello");
}
private void fly() {
System.out.println("lol");
}
}
public class Hello {
public static void main(String[] args)
{
Child c=new Child() {
public void f() {
System.out.println("sorry"+a);
}
public void fin() {
System.out.println("hello");
}
};
c.fin();
}}
上面是java的代码我的观点是为什么不能在匿名类中调用私有方法和变量,因为我在某处读到匿名类可以访问封闭类的所有成员。
https://www.baeldung.com/java-anonymous-classes
go checkout 指定匿名类的每个成员都可以访问封闭类的所有成员。
【问题讨论】:
-
Lol 私有方法不能被覆盖......这没有任何意义,因为它们只在其定义的类中可见
-
这就是 java 或任何其他面向对象语言的工作原理
标签: java inheritance anonymous-class