gpt4 book ai didi

JAVA从基类继承静态字段,每个子类的静态字段都不同

转载 作者:行者123 更新时间:2023-12-01 06:23:44 25 4
gpt4 key购买 nike

我有一个基类

public class base
{
//some stuff
}

和几个子类

public class sub1 extends base
{
static int variable;
}
public class sub2 extends base
{
static int variable;
}

等等

每个子类中都存在静态 int 变量,因为我在其中存储了每个子类特有的信息。但如果有一种方法将 static int 变量移动到基类,并且每个子类的变量仍然不同,那就更好了。就像现在我重复自己一样,当添加另一个子类时,这是一个不好的做法。

那么有人知道如何实现这一点吗?也许有适合这种情况的设计模式?

最佳答案

您不能将所有不同的静态变量从派生类移至基类,因为静态变量是每个类一个的;您希望每个子类都有一个变量,这是不允许的。

您可以通过在基类中定义子类注册表并在其中存储每个子类的 int 来解决此问题。但是,这会增加更多的复杂性,并且不清楚如何区分父类(super class)中的子类。

您当前的解决方案似乎是最佳的。

关于JAVA从基类继承静态字段,每个子类的静态字段都不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27589810/

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