公共静态嵌套类和公共类的区别?

时间:2021-07-16 02:44:04

标签: java class

apple 类在以下情况下有何不同?

public class fruit {
  public static class apple {

  }
}

对比

public class apple {

}

它们都可以在类外访问,并且都可以实例化。

什么时候使用哪个?谢谢!

3 个答案:

答案 0 :(得分:0)

大多数情况下,您希望使用常规 public class,但如果您希望很少使用 class,或者您需要一个隐藏类作为实现细节,则 static class {1}} 可以在那里使用。

答案 1 :(得分:0)

确实,正如您所说,两者都可以在外部使用,但假设您有一组相关信息,您知道它们属于同一类型,例如

public class Groceries {
   public static class Fruit {}
   public static class Vegetables {}
   ...
}

这样你就可以在同一个父模型下对几个模型(类)进行分组,但是你应该总是问自己两个简单的问题;

<块引用>

这对要使用这个类的客户没问题吗?会不会 如果在里面包含这样的静态类,这个类的维护容易吗?

您还应该记住这种用法对性能的影响,static 字段总是在应用程序启动时加载。

如果您发现自己对此感到满意,请继续使用它。

答案 2 :(得分:0)

公共静态嵌套类具有封闭类的私有成员的可见性。这不适用于常规的顶级公共课程。

相关问题