java - Enum Java 中的私有(private)成员

标签 java enums

<分区>

public class Test {

    public static enum MyEnum {
        valueA(1),valueb(2),valuec(3),valued(4);
        private int i;
        private Object o;

        private MyEnum(int number) {
             i = number;
        }

        public void set(Object o) {
            this.o = o;
        }

        public Object get() {
            return o;
        }


     } 

    public static void main(String[] args) {
        System.out.println(MyEnum.valueA.i); // private
    }
}

输出:1

如果它是枚举中的私有(private)成员,为什么会显示 1?

最佳答案

外部类可以完全访问其内部类的成员变量,因此 iTest 类中可见。

相反,如果 MyEnumTest 类之外,编译器会提示 i 的可见性,

关于java - Enum Java 中的私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15312735/

相关文章:

java - SonarQube - 是否有一个 API 可以为您拥有的所有项目获取一部分分析?

c++ - 在 C++ 中使用 cflags枚举

java - 如何从单独的类文件中随机选择两个枚举值

java: 反射获取一个Enum

java - 通过套接字发送多个字节数组

java - 如何将 .dex 文件转换为 android studio 项目

java - 谷歌应用引擎 : how to prevent image resize failure for big images

java - 如何在 Spring 上重现焊接实例行为

java - 如何在数组中添加枚举类型值

Java 枚举出错?