我有一个带有方法的 A 接口getT()
,abstract B class
带有方法getS()
,并且class C
扩展B class
了 which implements A interface
。我正在覆盖子类中的A
接口和B
超类的方法C
。然后在main
方法中我将C
类实例化为 typeo 如果A
这样:我A obj = new C();
可以调用getT()
from obj
,但不能调用getS()
方法。我怎样才能getS()
从 调用方法obj
,但我不能更改 的类型obj
,它必须是A
。这是代码:
接口 A:
public interface A {
public String getT();
}
抽象类 B:
public abstract class B implements A {
public abstract String getS();
}
子类 C:
public class C extends B {
@Override
public String getT() {
System.out.println("method getT() from C class");
return null;
}
@Override
public String getS() {
return null;
}
}
以及 T 类内部的主要方法:
public class T {
public static void main(String[] args) {
A obj = new C();
obj.getT();
}
}