gpt4 book ai didi

java - 需要实例变量时的模板类

转载 作者:行者123 更新时间:2023-12-02 06:49:58 26 4
gpt4 key购买 nike

我试图利用父类在多个继承类中重用,但父类需要有一个实例变量才能工作。

public class Num {
private int a = 1;

public int calc() {
int c = a + 4;
return c;
}
}

public class Two extends Num {
private int a = 2;
}

每个子类之间的主要区别在于它们的实例变量的值。有没有办法让 Two 仍然可以利用通用类 Num 中的 calc() 代码,而无需简单地通过将“a”参数设置为其自己的值来覆盖它,或者我是否以完全错误的方式处理此问题?

最佳答案

将“a”的初始化放在构造函数中并使其 protected :

public class Num {
protected int a;

public Num() { a = 1; }

public int calc() {
int c = a + 4;
return c;
}
}

public class Two extends Num {
public Two() { a = 2; }
}

关于java - 需要实例变量时的模板类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18169540/

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