0

所以我的问题是我是否有一个父类与子类的组成相关。假设父亲有一百万个儿子。现在我有一个全局常量,叫做头发颜色,所有儿子都一样。所以在我儿子的课堂上会有如下声明:

private final String HAIR_COLOR = "red";

我的问题是,将全局常量 HAIR_COLOR 作为父类中的公共变量在子类中使用 getter 方法会更好,还是应该保持现在的状态?提前致谢!

4

3 回答 3

0

您应该首先定义要使用的常量。如果只有子类应该知道它,那么将它放在父类中是一个糟糕的设计。因为它是不可变的,所以将常量设为 public 并没有什么坏处。如果常量数据是敏感的并且您不想公开它,则将其设为私有是有意义的。

于 2012-10-21T20:40:58.080 回答
0

创建一个抽象类并在其中声明 HAIR_COLOR。并且所有子类将仅从该类继承。

于 2012-10-21T20:45:36.953 回答
0

在我看来,最好的方法如下:

public class Father {

    // ...

}

public abstract class AbstractSon extends Father {
    public static final String HAIR_COLOR = "red";

    // ...

}

public class ConcreteSon extends AbstractSon {

    // ...

}
于 2012-10-22T16:01:41.623 回答