我正在考虑在班级中使用嵌套类。我有一个名为ServerConfiguration
的类,并且有两个与之紧密相关的类:构建器和提供程序。
所有类都位于单独的位置:
hosting.core.server.ServerConfiguration
hosting.core.server.server_configuration.Provider
hosting.core.server.server_configuration.Builder
问题是我应该将它们作为嵌套(静态)类添加到ServerConfiguration
还是保持原样?
ServerConfiguration
类非常简单,添加两个额外的类会使它更加复杂。
另一方面,我更容易拥有代码
private ServerConfiguration.Builder getBuilder()
{
return new ServerConfiguration.Builder();
}
代替
private Builder getBuilder()
{
return new Builder();
}
你怎么看?
答案 0 :(得分:3)
您应该继续使该类成为内部类。
根据有效的Java
如果只有一个类使用包私有的顶级类或接口, 考虑使顶层类成为唯一的私有静态嵌套类 使用它的类(项目24)。这降低了所有类的可访问性 在其包中使用它的一个类。但这对 减少免费公共类的访问性,而不是私有软件包中的访问性 顶级类:公共类是程序包API的一部分。