apple
类在以下情况下有何不同?
public class fruit {
public static class apple {
}
}
对比
public class apple {
}
它们都可以在类外访问,并且都可以实例化。
什么时候使用哪个?谢谢!
答案 0 :(得分:0)
大多数情况下,您希望使用常规 public class
,但如果您希望很少使用 class
,或者您需要一个隐藏类作为实现细节,则 static class
{1}} 可以在那里使用。
答案 1 :(得分:0)
确实,正如您所说,两者都可以在外部使用,但假设您有一组相关信息,您知道它们属于同一类型,例如
public class Groceries {
public static class Fruit {}
public static class Vegetables {}
...
}
这样你就可以在同一个父模型下对几个模型(类)进行分组,但是你应该总是问自己两个简单的问题;
<块引用>这对要使用这个类的客户没问题吗?会不会 如果在里面包含这样的静态类,这个类的维护容易吗?
您还应该记住这种用法对性能的影响,static
字段总是在应用程序启动时加载。
如果您发现自己对此感到满意,请继续使用它。
答案 2 :(得分:0)
公共静态嵌套类具有封闭类的私有成员的可见性。这不适用于常规的顶级公共课程。