gpt4 book ai didi

没有将其封装在类中的 Java Enum

转载 作者:搜寻专家 更新时间:2023-11-01 02:55:11 25 4
gpt4 key购买 nike

我有一种情况需要在多个类中使用下面的 Checker 枚举:

package Sartre.Connect4;

public enum Checker {
EMPTY,
RED,
YELLOW
}

所以我将 Checker 放在 Checker.java 文件中,然后从需要它的类中我只需执行以下操作:

例子:

    public Cell(){

currentCell = Checker.EMPTY;

}

例子:

    public Cell(Checker checker){

currentCell = checker;
}

并且代码编译良好,运行也很好。

那么我的问题是什么?作为 Java 的新手,我只是想知道我使用 Checker 而不将其封装在类中的方式是否是一个合理的实现?

可能是因为The enum declaration defines a class (called an enum type).如 Java 文档枚举教程页面所述。

最佳答案

在我看来,这一切都非常完美。 Java的enum值是类的对象,名称是全局枚举;因为它一个类,所以就像对待任何其他类一样对待它。您甚至可以为它们附加更多方法,尽管这不是我真正喜欢的方法。

当您在其他源文件中大量使用枚举的特定值时,另一个有用的技巧是import static 该值。这使您无需限定即可使用它(当然假设它没有歧义)。有些人不赞成这种技术,但我喜欢它,因为它使使用更干净,而且您的 IDE 总是可以准确地告诉您发生了什么。 (我不建议在没有 IDE 支持的情况下编写 Java。)

关于没有将其封装在类中的 Java Enum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2907999/

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