2013-04-08 60 views
0

在Android中有一個爲使您的系統類一個非常標準的方法與他們的互動:如何重新編譯Java函數?

@Override 
public void onResume() { 
    super.onResume(); 
    //your code here 
} 

當你鍵入「羚羊」,然後控制空間在Eclipse中,存根填寫這樣,與超級方法在通話中。你如何表示你想從 超類中做到這一點?

+0

你是什麼意思的「從超類」? – Zyerah 2013-04-08 07:32:17

+0

真的不清楚你在問什麼 - 你問他們是否是一種方法來確保精煉的onResume被調用(即如果不是,會產生一個錯誤?) – Elemental 2013-04-08 07:32:21

+0

要做什麼來自超類? – 2013-04-08 07:37:37

回答

1

有兩種情況在從超子類調用函數:

  • 當超類或它的一個祖先已經宣佈要調用功能 - 只需調用該函數:重寫將被調用。
  • 當函數在子類中首次推出 - 你需要在你的電話有明確的轉換。這個選項幾乎總是表明你的設計存在問題,應該避免。
+0

不會輕微回答這個問題。 – EJP 2013-04-09 01:40:58

+0

@EJP我真的很好奇,想知道如何讓一個答案告訴OP如何從超類調用子類方法不會回答(「毫不遜色」)關於從超類調用子類方法的問題。 – dasblinkenlight 2013-04-09 21:10:53

0

實現子類時,您可以覆蓋任何公共或受保護的方法,在Eclipse中重寫方法的默認行爲是做父類做什麼,爲此對於用於重寫任何方法自動代碼是調用父母通過super

+0

非常具有誤導性。如果您使用問題中描述的Eclipse快捷鍵,那這只是'默認'。與Java無關(或者編程)。 – EJP 2013-04-09 01:41:15

+0

在理論上,從子類調用父類方法的默認行爲是運行父方法 – thepoosh 2013-04-09 05:32:23

+0

理論上和實踐中。還有什麼可能呢?這是無關緊要的。如果您使用該快捷方式*,則在Eclipse *中重寫的方法的默認行爲是調用超類方法*。您的回答和您的評論中缺少的單詞是'Eclipse'。你已經寫完了,好像這是Java的行爲。事實並非如此。 – EJP 2013-04-09 23:21:00