gpt4 book ai didi

变量的java枚举访问问题

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:11:05 26 4
gpt4 key购买 nike

我看到一个奇怪的情况,想知道我是否遗漏了什么。我有一个类定义这样的枚举

public class Foo {
public enum Day { Monday, Tuesday, ...};
...
}

然后在另一个类(class)我有

public class Bar {
Foo aFoo=new Foo();

void test(){
System.out.println(Foo.Day.Monday); // ok
System.out.println(aFoo.Day.Monday); // complie error Day not accessible
}
}

有人对此有解释吗?谢谢。

最佳答案

原因是when you have an expression like Q.Id and Q is an expression of type T (Q 是您的 aFooT = Foo):

If there is not exactly one accessible (§6.6) member of the type T that is a field named Id, then a compile-time error occurs.

换句话说,您可以使用实例 (aFoo.someStaticVariable) 引用静态字段,但不能引用嵌套类。

所以你需要使用Outerclass.Nestedclass来访问它。

关于变量的java枚举访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20984603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com