相关疑难解决方法(0)

在Java嵌套类中,封闭类是否可以访问内部类的私有成员?

在Java中,内部类可以访问封闭类的私有成员.但是外层类可以访问内部类的私有成员吗?这与内部阶级是否是静态无关.我认为这不是真的,但以下代码似乎编译并正常工作.

public class Outer {
    class Inner {
        private int i = 0;
        private Inner() {}
    }

    public static void main(String[] args) {
        Outer o = new Outer();
        Outer.Inner oi = o.new Inner();
        oi.i = 10;
    }
}
Run Code Online (Sandbox Code Playgroud)

java inner-classes

19
推荐指数
1
解决办法
1万
查看次数

枚举 Java 中的私有成员

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
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:1

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

java enums

6
推荐指数
1
解决办法
4336
查看次数

标签 统计

java ×2

enums ×1

inner-classes ×1