Mat*_*all 1 java inheritance abstract-class
我想写一个抽象类(或接口)
一个例子是:
public abstract class A {
abstract int counter;
}
public class B extends A {
public int getCounter() {
return counter;
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,B的getCounter()方法将返回counter 特定于 B 该类 的(静态或实例),而不是从中继承的值A.有没有办法在Java中这样做?
没有一个好方法可以做到这一点,我也不相信应该这样做.您可以使用抽象方法完成相同的操作,并在基类中编写算法,以便它们利用委派的方法.
如果您提供有关您认为需要执行此操作的更多详细信息,我们可以帮助您制定更正确的解决方案.
例如:
public abstract class A {
protected abstract int getCounter();
public void doStuff() {
int counter = getCounter();
for (int i=0; i < counter; i++) {
// do stuff
}
}
}
Run Code Online (Sandbox Code Playgroud)