農林漁牧網

您現在的位置是:首頁 > 林業

「Java三分鐘」Java三大特性之一——繼承

2022-10-10由 熊喵不是貓嘍 發表于 林業

java類的繼承有何特點

「Java三分鐘」Java三大特性之一——繼承

關注我,每天三分鐘,輕鬆掌握一個Java知識點。

我們都知道,Java是面向物件的語言,再很多地方,Java實際上是在模仿現實。比如現實生活中我們把鳥分為蜂鳥、鷹、麻雀等品種,但歸根結底他們都是鳥,而在往上總結,鳥和魚都是動物,在往上,動物和植物都是“物”。

這種可以一直往上追根溯源的形式,對映到JAVA語言中,就是子類和父類的模型。麻雀的父類是鳥,鳥的父類是動物,動物的父類是“物”(object)。父類是更寬泛的概念,而子類是父類的特殊情況。

正如之前我們聊介面和抽象類說的那樣,父類也有歸納一類事物共性的功能,比如說鳥有飛這個功能。在我們想要一隻鳥時,我們可以直接new一個鳥類,但有時後我們想更個性化一點,這個時候只要extends鳥類,自己加入一些特性就可以得到一個新的鳥類的子類了,而且在這個子類中,我們能寫一些子類獨有的屬性和方法。

有時候我們想要鳥類的99%的功能,但唯獨那1%不符合我們的要求,這個時候再建立一個跟鳥類平行的類就太浪費了。比如說我們想要鴕鳥,鴕鳥其他屬性都符合鳥類,就是不會飛,這個時候涉及到Java中一個非常重要的點,重寫。

正是有了重寫,子類能更好的拓展父類,但有一定的約定條件,江湖人稱“兩同兩小一大”,“兩同”說的是方法名要一樣,形參要一樣;“兩小”指的是子類方法的返回值要小於等於父類方法的返回值,子類方法丟擲的異常要小於等於父類方法丟擲的異常;“一大”指子類方法的訪問許可權要大於等於父類許可權,這就是重寫要注意的地方。這裡涉及到this和super的用法,我們以後詳細的說。這裡免費贈送一張許可權圖,幫助大家理解。

「Java三分鐘」Java三大特性之一——繼承

值得注意的是,子類不會繼承父類的構造器,但你可以在子類構造器裡呼叫父類構造器的程式碼。

「Java三分鐘」Java三大特性之一——繼承

以上就是今天分享的全部內容了,創作不易,希望大家多多關注,收藏,評論每條都看了,以後會提高自己的姿勢水平,儘量把知識講的透特且生動且有趣!