島嶼渡假↘下殺$4900起女大生禁不起誘惑!按了..正妹的東京自助旅行睽違25天終開會 立院...
2012-04-16 08:00:19 人氣(214) | 回應(0) | 推薦(0) | 收藏(0) 上一篇 | 下一篇

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

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
人氣(214) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: [學習]Java |
此分類下一篇:[JAVA][作業][Lab4] Inheritance
此分類上一篇:[JAVA][作業][Lab3] Rational.java

我要回應
是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入以下數字 (ex:123)

(有*為必填)
詳全文