/* * 類的繼承和super關鍵字 * * 軟件開發的三大目的: * 可拓展性; * 可維護性; * 可重用性; * * 這里單說下可重用性這一項: * 為了代碼復用,復用方式有: * 函數的調用復用; * 類的實例化復用,類直接的復用; * 類的繼承復用; * 前兩個我都有發過,這里就說一下類的繼承,以及繼承中用的較多的關鍵字:super; * * * 首先要先了解什么是繼承? * 繼承,用人認知的角度說的話就好比一個父親的東西由他的幾個兒子來繼承,也就是有了父親的東西,同時也有自己的東西----從網上也看到過一句話形容繼承:長江后浪推前浪,子類都比父類強; * 也就是說,發生繼承關系的時候,父類的東西,子類都有,但子類的東西父類不一定有; * * 那從代碼的角度來說: * 當一個類被另外一個類繼承的時候,這個類就是父類,另一個類就是子類,子類擁有了父類里面的方法和屬性,同時子類也有自己的方法和屬性; * 繼承的語法: * public class A extends B{ } * * 即:A繼承于B,現在A里有了B的方法和屬性; * * 繼承里需要注意的是: 類和類之間只能單繼承,一個類如果沒有顯示繼承了其他類,則該類默認繼承Object.java.lang.Object; * Object是所有類的祖類,可以看作是任何沒有繼承關系的類的父類; * * 我們代碼中看: */public class JavaSE{ public static void main(String[] args){ Animal a = new Animal();//實例化父類對象; a.eat(); Cat c = new Cat();//實例化子類對象; c.eat(); Animal m = new Mouse();//父類引用指向子類對象,這是多態,先別太深究這個; m.eat(); }}class Animal{ public void eat(){ int i = 10; System.out./* * 繼承關系中方法的覆寫 * * 覆寫: * 就是在子類繼承父類成員方法之后,重新寫了一個同名的方法,但方法的屬性改變了,外部類調用子類方法時,會調用子類的屬性而不是父類的屬性,即覆蓋并重寫了從父類繼承過來的方法; */public class JavaSE{ public static void main(String[] args){ Animal a = new Animal();//實例化父類 a.eat();//調用: 對象名.方法名; Animal c = new Cat();//多態,父類引用指向子類對象 c.eat(); Mouse m = new Mouse();//實例化子類 m.eat(); }}class Animal{ public void eat(){ System.out.println( "動物在吃東西" ); }}class Cat extends Animal{ public void eat(){//方法的覆寫:和父類的方法名相同,但是屬性不同,相當于覆蓋了原有的繼承過來的父類方法,自己重寫了一下; //調用的結果應該顯示子類重寫后的屬性; System.out.println( "貓在吃魚" ); }}class Mouse extends Animal{ public void eat(){//方法的覆寫; System.out.println( "老鼠在吃大米" ); }}
新聞熱點
疑難解答