摘要:父類中的訪問權(quán)限一定要小于或者等于子類訪問權(quán)限的個關(guān)鍵字訪問權(quán)限大小,其中為默認(rèn)值,不用寫。下面是一個典型的代碼父類代碼子類代碼測試類代碼輸出結(jié)果在子類那里已經(jīng)表明。
繼承(Extends)
1、前言
還是先說一下博主本人的一些基本情況吧。本人去年剛剛畢業(yè),專業(yè)是電氣工程及其自動化,就是在大學(xué)期間完全沒有接觸過JAVA,也就稍稍了解了一下C語言。后來找了現(xiàn)在的工作也是和編程沒有任何關(guān)系,是的,本人現(xiàn)在就是全職工作,每天的學(xué)習(xí)時間只有6點下班后,還有鍛煉一個小時身體,一天也沒有幾個小時學(xué)習(xí),全都是看視頻自學(xué)的。不過現(xiàn)在就是打算辭職出去培訓(xùn)班專門學(xué)習(xí)JAVA,現(xiàn)在發(fā)文的根據(jù)也是培訓(xùn)機(jī)構(gòu)發(fā)過來的視頻學(xué)習(xí)的,等6月份的時候會重新開始,到時候會才最基礎(chǔ)的設(shè)置環(huán)境開始發(fā)文。特別強(qiáng)調(diào),本文是我自己對于學(xué)習(xí)的理解,可能理解不到,甚至是理解錯誤,所以僅僅作為參考,不作為任何指導(dǎo),也希望各位看到我的錯誤能夠指出來,謝謝!
2、概念
繼承,根據(jù)字面意思很容易理解就是父輩把他的東西給子輩,不論父輩有什么,子輩就一定會有什么,不論子輩有多少個,他們得到的都是一樣相等的。繼承主要解決的問題就是共性抽取。格式如下:
public class 子類名 extends 父類名 {}
3、特點
1> JAVA里面的繼承是單繼承的:一個類只能擁有一個父類;
2> JAVA可以多級繼承:假設(shè)類C的父類是類B,類B的父類是類A,那么我們也稱A為C的父類;
3> JAVA里面一個父類可以同時擁有多個子類;
4> 子類可以直接調(diào)用父類成員變量和方法:父類創(chuàng)建一個int變量int faNum = 10,成員方法method(),里面就輸出一句話“父類中的方法”,在測試程序中可以直接這樣寫:
5> 父類的方法返回類型一定要大于等于子類:就拿我們常見的Object和String類來說,總所周知,Object是所有類的祖宗類,所以我們這樣寫沒有問題:
父類中的方法:
子類中的方法:
但是兩者的返回值反過來就會編譯報錯。
6> 父類中的訪問權(quán)限一定要小于或者等于子類:
訪問權(quán)限的4個關(guān)鍵字訪問權(quán)限大小:public>protected>(default)>private,其中default為默認(rèn)值,不用寫。
4、super和this關(guān)鍵字
剛剛演示了子類可以直接調(diào)用父類的成員變量和方法,那么如果父子兩個類定義的成員變量的名字和成員方法名字一樣,在測試程序里面寫子類名.變量名,會輸出哪個呢?比如:在父類中定義一個int 值,int num = 10;子類中也定義一個int值,int num = 20;在測試程序里面創(chuàng)建子類的對象,對象名為:son。那么,System.out.println(son.num);會輸出什么呢?答案是:20。這個過程可以簡單的理解為程序會調(diào)用里它最近的那個參數(shù)。
上面的例子輸出語句也可以這樣寫:System.out.println(this.num);this關(guān)鍵字可以簡單的理解成代替本來的名字。但是上面的例子要輸出10的話就需要關(guān)鍵字:super了。輸出語句改為:System.out.println(super.num);此時的輸出結(jié)果就是10。 下面是一個典型的代碼:
父類代碼:
子類代碼:
測試類代碼:
輸出
作者:ZHC_YTYQ
來源:CSDN
原文:https://blog.csdn.net/ZHC_YTY...
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/74514.html
摘要:繼承練習(xí)今天因為上班太忙,沒有時間看視頻,只看到了練習(xí),所以今天就只做了這一道練習(xí)。題目要求要求編寫一個類似微信放紅包的程序。 繼承練習(xí) 今天因為上班太忙,沒有時間看視頻,只看到了練習(xí),所以今天就只做了這一道練習(xí)。題目要求:要求編寫一個類似微信放紅包的程序。分析: 群主和成員都是具有相同的名字變量和余額變量,根據(jù)繼承的共性提取我們得知群主和成員都是繼承某一個類,這個類我們姑且稱為Us...
摘要:抽象類概念抽象類,關(guān)鍵字。抽象類中不一定有抽象方法,但是抽象方法一定在抽象類里面使用方式抽象類不能直接創(chuàng)建對象。子類繼承抽象類父類,必須重寫父類中所有的抽象方法。 抽象類(abstract) 1、概念 抽象類,關(guān)鍵字abstract。我的理解就是泛指的意思,就好比說你建立一個類,叫Animal類,里面有一個eat()方法,但是這個動物類指的是什么動物呢?這個可以是小貓,也可以是小狗,還...
摘要:類工具類工具類前言各位大牛人物,本人是一個零基礎(chǔ)學(xué)起來的小白,大學(xué)之前對于沒有任何的接觸,如今決定認(rèn)真學(xué)習(xí),目的是要把自己的頭發(fā)掉光位置今天寫這個的原因就是想把自己的學(xué)習(xí)過程記錄下來,算是鞏固練習(xí)。 String類、Arrays工具類、Math工具類 前言各位大牛人物,本人是一個零基礎(chǔ)學(xué)起來的小白,大學(xué)之前對于Java沒有任何的接觸,如今決定認(rèn)真學(xué)習(xí)Java,目的是要把自己的頭發(fā)掉...
摘要:最近聽很多面試的小伙伴說,網(wǎng)上往往是一篇一篇的多線程的文章,除了書籍沒有什么學(xué)習(xí)多線程的一系列文章。將此線程標(biāo)記為線程或用戶線程。 最近聽很多面試的小伙伴說,網(wǎng)上往往是一篇一篇的Java多線程的文章,除了書籍沒有什么學(xué)習(xí)多線程的一系列文章。但是僅僅憑借一兩篇文章很難對多線程有系統(tǒng)的學(xué)習(xí),而且面試的時候多線程這方面的知識往往也是考察的重點,所以考慮之下決定寫一系列關(guān)于Java多線程的文章...
閱讀 1756·2021-11-24 09:39
閱讀 1686·2021-11-22 15:22
閱讀 1002·2021-09-27 13:36
閱讀 3230·2021-09-24 10:34
閱讀 3329·2021-07-26 23:38
閱讀 2633·2019-08-29 16:44
閱讀 974·2019-08-29 16:39
閱讀 1104·2019-08-29 16:20