在Java的面向對象程序設計中,隱藏和重寫兩個概念十分重要,任何一位Java程序員都應該明白它們的區別。
隱藏(Hidden):
class Animal { public static void test() { System.out.println("Animal test"); } } class Dog extends Animal { public static void test() { System.out.println("Dog test"); } } public class Test { public static void main(String[] args) { Animal animal = new Dog(); animal.test(); // Animal test } }
隱藏是指子類定義了和父類同名的靜態方法(或者與父類參數、返回值類型不同的實例方法),就會對父類的方法隱藏,即使子類實例化后調用該方法,也只會執行子類中的同名方法,不會執行父類中的同名方法。
重寫(Override):
class Animal { public void test() { System.out.println("Animal test"); } } class Dog extends Animal { public void test() { System.out.println("Dog test"); } } public class Test { public static void main(String[] args) { Animal animal = new Dog(); animal.test(); // Dog test } }
重寫是指子類定義了一個與父類方法名稱、參數列表、返回類型均相同的方法,這樣當子類實例化后調用該方法時,就會執行子類中的方法,而不是父類中的方法。
因此,隱藏和重寫是Java中兩個不同的概念,要注意它們的區別。
上一篇css表格滾動條屬性
下一篇css表格滾動條代碼