我正在浏览遗留代码库并观察到他们public static
在外部类中使用该类的很多地方,并且嵌套的公共静态类不仅在外部类中使用,而且在许多其他类中使用?
这背后的设计决策是什么,如果它也被用于外部,那么为什么它本身没有被创建为一个独立的公共类。
因此,在我的示例中,它如下所示:-
public class OuterNestedClass {
private int a;
private List<InnerClass> innerClasses;
public static class InnerClass {
private int b;
public InnerClass(int b) {
this.b = b;
}
public void show(){
System.out.println("Value of b "+b);
}
}
}
其他使用innerclass
如下所示的类:-
public class OutsideClass {
public static void main(String[] args) {
OuterNestedClass.InnerClass innerClass = new OuterNestedClass.InnerClass(10);
innerClass.show();
}
}
让我知道是否需要任何澄清。