我有一个带有类“A”和本地类“B”的外部 API(我不能修改它),它覆盖了“A”的方法并添加了一个附加功能。我需要根据某个参数“is_A”使用其中之一。
/ ------ API (A.java) ----- /
package A;
public class A {
public int pingA( int value ) {
return value;
}
}
/ ------ 我的班级(B.java) ----- /
package B;
import A.*;
public class B extends A {
@Override
public int pingA( int value ) {
return value;
}
public int pingB( int value ) {
return value;
}
public static void main(String[] args) {
final boolean is_A = false;
A obj;
if (is_A) {
obj = new A();
} else {
obj = new B();
}
if (!is_A) {
int n = obj.pingB(3);
}
}
}
在这种情况下,我想使用类“B”,但命令“int n = obj.pingB(3);” 未编译,因为 A 中没有方法 pingB。确切的消息是:
cannot find symbol
symbol: method pingB(int)
location: class A.A