我具有A接口與方法getT()
,abstract B class
與方法getS()
和延伸B class
其中implements A interface
class C
。我在C
子類中重寫A
接口和B
超類的方法。然後在main
方法我實例化C
類是typeo如果A
像這樣:A obj = new C();
我可以從obj
調用getT()
,但不能調用getS()
方法。我如何從obj
調用getS()
方法,但我無法更改obj
的類型,它必須是A
。下面是代碼:Java靜態方法重寫和接口
接口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();
}
}
這些「靜態方法」在哪裏?這個「壓倒一切」在哪裏? – user2864740