1. 程式人生 > >java的繼承和多型

java的繼承和多型

在學習Java的過程中我一直對繼承和多型瞭解不夠深入,覺得理解的不透徹,所以也看了很多部落格來明確自己對他們的定義。 (一)繼承
1.使用繼承的意義:(可以減少重複的程式碼,達到程式碼的複用).
2.原理:子類物件的構造,先會構造一個父類的物件,在父類物件的基礎上在進行擴充套件自己的屬性 和行為。
3.繼承注意事項:父類的構造方法不會被繼承下來,要繼承則使用super()的方式;私有屬性是可以 被繼承下來的,只是子類不能夠直接就行訪問。
4.終態類:在類前面加上final關鍵字;比如我們的String類、Math類、System類都是終態類,終態類是沒有子類的。
(二)多型
1.概念:父類的變數指向子類的物件;一個介面型別變數引用實現類的物件。例如:Aimal dog=new Dog();
2.多型的好處:這樣我們可以進行更好的擴充套件、我們可以使用父類中的任何一個類,就像dog 變數我們可以使用Aimal中的任何一個子類的方法和屬性。
3.多型的兩種表現方式:
  過載:過載是發生在一個類中的,方法名相同,但是方法的引數、方法的個數、以及方法的順序是可以不相同的
  重寫:重寫是發生在不同類中的
        方法的名稱、方法的引數列表、方法的返回型別相同都要相同
        子類的修飾符要大於父類的修飾符
        方法丟擲的異常不一樣,子類丟擲的異常要不父類丟擲的異常小
        子類在呼叫方法時則優先考慮子類中的方法
4.如果一個類去繼承或者去實現一個沒有任何屬性的類,這樣做有沒有意義?
  還是有意義的,比如我們在傳參的時候可以指定我們只能夠傳這一個型別的的引數,可以是這個類的子類,這樣可以過濾掉其他的不必要的引數。
5.instanceof方法:
  該方法用來判斷當前的物件是否匹配我們所指定的物件