假设我有课 alpha
有一个方法:
public boolean isValid(char character)
{
for (char validChar : VALID_CHARACTERS) {
if (character == validChar) {
return true;
}
}
return false;
}
和数组:
public static final char[] VALID_CHARACTERS = { 'a', 'b', 'c', 'd', 'w' };
然后我有一个子类 beta
延伸alpha
我想打电话 alpha
的isValid()
beta
中的方法,但我想使用新的有效字符列表。我该怎么做呢?如果我调用 isValid
方法默认使用 VALID_CHARACTERS
来自alpha
而不是 beta
中的那些.
最佳答案
您可以在 alpha
类中拥有一个方法:
public char[] getValidCharacters()
{
return VALID_CHARACTERS;
}
然后你可以在子类beta
中重写这个方法。
并且您使用该方法而不是直接访问 VALID_CHARACTERS
。
关于java - java中调用父类(super class)的方法但使用子类的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27025597/