【发布时间】:2020-03-31 07:49:52
【问题描述】:
子类需要能够使用种子随机数生成器。
使用的优缺点是什么
public abstract class AbstractClass {
protected Random rnd;
public AbstractClass(long seed) {
rnd = new Random(seed);
}
}
对
public abstract class AbstractClass {
private Random rnd;
public AbstractClass(long seed) {
rnd = new Random(seed);
}
protected Random getRnd() {
return rnd;
}
protected Random setRnd(Random rnd) {
this.rnd = rnd;
}
}
【问题讨论】:
-
无论如何你都应该创建
rndfinal。 -
在第一种情况下,您也可以通过将您的字段设为 final 来实现。
-
@luk2302 好点,感谢您指出这一点。我编辑了我的问题(不好的做法,抱歉)来问我实际上更感兴趣的问题。
-
制作无操作方法 - getter - protected 是使您的代码无法维护的众多方法之一
标签: java inheritance visibility