为什么我们不能在非静态内部类中使用静态方法?
如果我使内部类静态,它的工作原理.为什么?
考虑一下这段代码:
public class TopLevelClass {
Cloneable c = new Cloneable() {
private int privateField;
private void privateMethod() {};
};
}
Run Code Online (Sandbox Code Playgroud)
有一个匿名类,它有一个private成员字段和一个private成员方法.它已成功编译.
然后考虑这个:
public class TopLevelClass {
Cloneable c = new Cloneable() {
private class PrivateInnerClass {}
};
}
Run Code Online (Sandbox Code Playgroud)
有一个匿名类,它有一个private成员类.然而...
error: modifier private not allowed hereIllegal modifier for the local class PrivateInnerClass; only abstract or final is permitted 真的是本地课吗?什么?为什么匿名类不能有public,protected或private(以下简称为those)成员类而它们可具有those构件的字段和方法? …