假设我有一个Java类 A ,这需要一个帮助类 B 。该助手类仅用于 A ,没有其他用途。此外, B 不需要以任何方式使用 A (不要调用方法或访问字段)。
所以,问题是:在哪里放 B ?
有以下选项:
静态嵌套类。在我看来,它只是使代码不那么清晰(更多的缩进等)。
public class A {
...
private static class B { ... }
}
同一来源的非公开课。我喜欢这个选项。
public class A {
...
}
class B {
...
}
单独来源中的非公开类。看起来这个选项有一点开销。
// A.java
public class A {
...
}
// B.java
class B {
...
}
目前,我更喜欢第二种选择。你对此有什么想法?什么是最佳做法? 是否有任何权威来源?
答案 0 :(得分:5)
我强烈投票支持选项(1)。我们的想法是,类B
只需要类A
,而选项(1)是明确表达意图的唯一选择:类B
是类A
的一部分}。
答案 1 :(得分:1)
it有帮助吗?
没有严重的缺点,但人们当然可以找到至少一些,包括:
答案 2 :(得分:1)
您可以在A.Better封装中使用静态嵌套类,因为嵌套类是一种逻辑分组仅在一个地方使用的类的方法。你的助手类只包含字段吗?