所以我的问题是我是否有一个父类与子类的组成相关。假设父亲有一百万个儿子。现在我有一个全局常量,叫做头发颜色,所有儿子都一样。所以在我儿子的课堂上会有如下声明:
private final String HAIR_COLOR = "red";
我的问题是,将全局常量 HAIR_COLOR 作为父类中的公共变量在子类中使用 getter 方法会更好,还是应该保持现在的状态?提前致谢!
所以我的问题是我是否有一个父类与子类的组成相关。假设父亲有一百万个儿子。现在我有一个全局常量,叫做头发颜色,所有儿子都一样。所以在我儿子的课堂上会有如下声明:
private final String HAIR_COLOR = "red";
我的问题是,将全局常量 HAIR_COLOR 作为父类中的公共变量在子类中使用 getter 方法会更好,还是应该保持现在的状态?提前致谢!
您应该首先定义要使用的常量。如果只有子类应该知道它,那么将它放在父类中是一个糟糕的设计。因为它是不可变的,所以将常量设为 public 并没有什么坏处。如果常量数据是敏感的并且您不想公开它,则将其设为私有是有意义的。
创建一个抽象类并在其中声明 HAIR_COLOR。并且所有子类将仅从该类继承。
在我看来,最好的方法如下:
public class Father {
// ...
}
public abstract class AbstractSon extends Father {
public static final String HAIR_COLOR = "red";
// ...
}
public class ConcreteSon extends AbstractSon {
// ...
}