我应该在公共类中使用静态类,还是只使用一个单独的类

时间:2013-10-08 08:33:15

标签: java class static public

如果我有一个公共课,请将其称为ClassA,这需要另一个课程,称之为ClassB,并且: 1)我的程序中没有其他类需要访问ClassB。 2)ClassB不需要静态访问ClassA的状态。

如果这两点有效,是否ClassB应该是 public static class ClassB {中的public class ClassA { ,还是ClassB是否应该class ClassB {ClassA

以外的{{1}} 吗?

3 个答案:

答案 0 :(得分:2)

因为它不会在ClassA之外使用,所以最好是:

private class ClassB {

}

答案 1 :(得分:2)

ClassB独立于ClassA执行可定义的有用工作吗?如果它只是ClassA实现的一部分,请在ClassA中将其定义为私有静态类。如果它具有独立意义,请将其定义为顶级类,具有包或公共访问权限,具体取决于其潜在用途的范围。

答案 2 :(得分:0)

由于ClassB不需要静态访问ClassA的状态,因此classB可以是私有内部类。

  

非静态嵌套类(内部类)可以访问其他成员   封闭类的,即使它们被宣布为私有。静态的   嵌套类无权访问封闭的其他成员   类。作为OuterClass的成员,可以声明嵌套类   私人,公共或受保护的。   (来自javadoc)