![]() |
1
29
专业的
如您所见,同样的编译器错误也会发生。实际上,您的问题与
然而,您发现编译器猜测代码的意图并试图警告您的意图是非法的,这是一种临界情况。一般来说
后一种情况是编译器抱怨的:
您正在尝试访问非-
现在编译器知道您正在尝试访问可见(外部)类型的成员,而不是错误地访问
|
![]() |
2
5
如果你
|
![]() |
3
2
|
![]() |
4
2
私有字段不能从子类访问,这正是您在实现
|
![]() |
5
1
当枚举是静态变量时,someField是私有变量。不能以这种方式将非静态变量分配给静态变量。 |
![]() |
6
1
显然问题是,当你说:
它隐式需要枚举为
它给出一个错误,因为您正在尝试访问“基类”
关于堆栈溢出,有一些问题谈到了这个问题,例如 Singletons, Enums and anonymous inner classes 或 Why can I anonymously subclass an enum but not a final class? .
编辑:显然,这句话中的所有内容都不正确,因为
|
|
7
1
您可以做的是:
这样,你仍然可以继承
|
![]() |
8
0
我不会使用枚举实现Strategy模式。所有代码都以相同的unti(文件)结尾。 想法是分离代码。使用一个接口作为基类,然后将每个策略作为单独的子类来实现。干干净净。 |