我正在學習interfaceJava 中的概念,特別是關于它與class. 據我了解,這是介面繼承的基本代碼語法
interface one{
void funcOne();
}
class Test implements one{
@Override public void funcOne(){
System.out.println("this is one");
}
}
但是當我洗掉短語@Override時,代碼仍然可以正常作業。那么使用該關鍵字的目的是什么?
static當使用方法進行測驗時,我的困惑加起來了。例如下面的代碼會拋出一個錯誤
interface one{
static void funcOne(){
System.out.println("hello");
}
}
class Test implements one{
@Override static void funcOne() {
System.out.println("This is one");
}
}
@Override但是當被移除時它不會拋出錯誤。
什么時候應該使用關鍵字@Override,它與static函式有什么關系?
uj5u.com熱心網友回復:
使用注解 @Override 讓你的編譯器幫助你檢查它是否真的覆寫了一個方法。
萬一像
public String tostring() {
return ...;
}
您可能將“tostring()”與“toString()”誤認為是正確地覆寫了它。代碼會像平常一樣編譯和運行,但是呼叫 toString() 方法時的結果不是你想要的。
但是如果你使用注解 @Override
@Override
public String tostring() {
return ...;
}
當您嘗試編譯它時,編譯器會向您顯示一個錯誤,以說明您沒有覆寫任何方法。然后你會發現你沒有拼寫正確。
2. 靜態方法不能被覆寫,只能隱藏。
(如果對您有幫助,請采納,謝謝。)
uj5u.com熱心網友回復:
覆寫對于靜態方法來說并不是真正的事情。你永遠不需要在靜態方法上使用它,你也不應該在靜態方法上使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/519738.html
標籤:爪哇遗产界面静止的
上一篇:關于繼承的問題-“型別不是基類”
下一篇:型別提示嵌套類的實體
