24h購物| | PChome| 登入
2012-04-16 08:00:19| 人氣1,918| 回應0 | 上一篇 | 下一篇

[JAVA] 學習 static and nonstatic method 的繼承

推薦 0 收藏 0 轉貼0 訂閱站台

class SuperClass {
  public static void staticMethod() {
    System.out.println("Superclass's static method");
  }
  public void instanceMethod() {
    System.out.println("Superclass's instance method");
  }
}
 
public class Test extends SuperClass {
  public static void staticMethod() {
    System.out.println("Subclass's static method");
  }
  public void instanceMethod() {
    System.out.println("Subclass's instance method");
  }
  public static void main(String[] args) {
    SuperClass obj = new Test();
    obj.staticMethod();
    ((Test)obj).staticMethod();
    obj.instanceMethod();
    ((Test)obj).instanceMethod();
  }
}

結果:
Superclass's static method
Subclass's static method
Subclass's instance method
Subclass's instance method


被overriden的method沒有辦法再被呼叫, 除非透過override它的method, 使用super去呼叫
父別類與子類別有同名的static method....應該是稱做"hide"吧? (不知道有沒有記錯)
這種hide的情況, 透過casting就可以呼叫到不同的static method了
而override就沒辦法囉~


學習來源 :
http://www.javaworld.com.tw/jute/post/view?bid=29&id=13488&tpg=1&ppg=1&sty=1&age=0

台長: Morris
人氣(1,918) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: [學習]Java |
此分類下一篇:[JAVA][作業][Lab4] Inheritance
此分類上一篇:[JAVA][作業][Lab3] Rational.java

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文