【发布时间】:2010-01-08 00:24:12
【问题描述】:
我有一个带有“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
【问题讨论】: