在私有内部类的字段的访问修饰符中是否有任何意义?

Dum*_*s45 11 java

假设我有一个带有内部类的外部类.内部类有四个字段,包含所有可能的访问修饰符.

class Outer {
    private class Inner {
        public int publicField;
        protected int protectedField;
        int packagePrivatefield;
        private int privateField;
    }

    void doSomethingWithFields() {
        Inner inner = new Inner();
        inner.publicField = 111;
        inner.protectedField = 111;
        inner.packagePrivatefield = 111;
        inner.privateField = 111;
    }
}
Run Code Online (Sandbox Code Playgroud)

内部类是私有的,所以我不能在Outer类之外创建它的实例.在Outer类中,如果我创建内部类的实例并尝试更改每个字段的值,我将成功地执行此操作.所以我看到上述字段的访问修饰符没有任何意义.在那儿?

编辑:主要问题是: 我应该为私人内部成员选择哪些访问修饰符?内部类不仅可以实现接口.我可以把一些带有逻辑的困难结构放进去.

Xab*_*ter 7

访问修饰符在继承方面有发言权.扩展您所谈论的类的另一个内部私有类没有外部类的特权.

public class Main {
    private class Test {
        protected int hello;
    }
    private class TestNext extends Test {
        private TestNext() {
            this.hello = 1;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

将编译,但如果hello是私人的,它不会.