gpt4 book ai didi

java - 非公共(public)顶级类与静态嵌套类

转载 作者:太空狗 更新时间:2023-10-29 22:33:46 27 4
gpt4 key购买 nike

在我看来,非公共(public)顶级类和静态嵌套类在创建辅助类时本质上执行相同的任务。


A.java


public class A 
{
public static main (String[] args)
{
AHelper helper = new AHelper();
}
}
class AHelper {}

A.java


public class A
{
public static main (String[] args)
{
A.AHelper helper = new A.AHelper();
}

static class AHelper {}
}


除了引用它们的方式之外,在我看来,这两种创建辅助类的方法之间几乎没有什么区别。这可能主要归结为偏好;有人看到我遗漏了什么吗?我想有些人会争辩说每个源文件都有一个类更好,但从我的角度来看,在同一个源文件中有一个非公共(public)顶级类似乎更清晰、更有条理。

最佳答案

在这两个示例中,每个源文件都没有一个类。但通常,您使用静态嵌套类来表示它仅打算在其封闭类中使用(强制将其引用为 A.AHelper)。如果将该类移动到顶层,情况就不太清楚了。

来自Sun tutorial :

Logical grouping of classes—If a class is useful to only one other class, then it is logical to embed it in that class and keep the two together. Nesting such "helper classes" makes their package more streamlined.

关于java - 非公共(public)顶级类与静态嵌套类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2148686/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com