【发布时间】:2015-02-19 19:00:39
【问题描述】:
我有一个基类
public class base
{
//some stuff
}
和几个子类
public class sub1 extends base
{
static int variable;
}
public class sub2 extends base
{
static int variable;
}
等
静态 int 变量存在于每个子类中,因为我在其中存储了每个子类的特征信息。但是,如果有一种方法可以将静态 int 变量移动到基类,并且每个子类仍然会有所不同,那就更好了。 就像我现在重复自己的方式一样,在添加另一个子类时,这是一种不好的做法。
所以有人知道如何完成这个吗?也许有适合这种情况的设计模式?
【问题讨论】:
-
如果价值观不同,你是如何重复自己的?
-
给定子类的值是随时间变化的,还是不变的?
-
@Bohemian 没有。
-
@BartlomiejLewandowski 当我创建 sub1 的 2 个对象时,我希望它们具有相同的变量值,但不同于 sub2 对象,例如:
sub1 obj1 = new sub1();// value =x sub1 obj2 = new sub1();// value =x sub2 obj3 = new sub2();//value =y sub2 obj4 = new sub2();//value =y现在假设我有 5 个使用静态变量的方法必须在每个子类中实现它们,但它们都是一样的——我在重复自己
标签: java inheritance static field