JAVA基礎小結(1)

1.java只支持單繼承逝段,不支持多繼承

因為多繼承容易帶來安全隱患矢沿,當多個父類中定義了相同功能茂卦,當功能不同時青团,子類對象不確定要運行哪一個

但是java保留了這種機制譬巫,并用另一種體現(xiàn)形式來完成表示,多實現(xiàn)

java支持多層繼承督笆,也就是一個繼承體系

如何使用一個繼承體系中的功能呢芦昔?

想要使用體系,先查閱體系父類的描述胖腾,因為父類中定義的是該體系中共性的功能烟零。

那么在具體調(diào)用時,要創(chuàng)建最子類的對象咸作,為什么呢锨阿?1.因為有可能父類不能創(chuàng)建對象2.創(chuàng)建子類對象可以使用更多的功能,包括基本的也包括特有的

簡單一句話:查閱父類功能记罚,創(chuàng)建子類對象使用功能

2.final:最終墅诡。 作為一個修飾符

1):可以修飾類,函數(shù),變量

2):被final修飾的類不可被繼承末早,為了避免被繼承烟馅,被子類復寫功能

3):被final修飾的方法不可以被復寫

4):被final修飾的變量時一個常量只能賦值一次,既可以修飾成員變量然磷,也可以修飾局部變量(final int a= 4郑趁;a終身為4 )? 當在描述事物時,一些數(shù)據(jù)的出現(xiàn)值是固定的姿搜,那么這時為了增強閱讀性寡润,都給這些值起個名字,不需要修改 方便閱讀舅柜;(final double PI = 3.14)

抽象類 abstract

當多個類中出現(xiàn)相同功能梭纹,但是功能主體不同。這時可以進行向上抽取致份,這時变抽,只抽取功能定義,而不抽取功能主體氮块。

抽象類:1.抽象方法一定在抽象類中

2.抽象方法和抽象類都必須被abstract關鍵字修飾

3.抽象類不可以用 new創(chuàng)建對象绍载,因為調(diào)用抽象方法沒有意義

4.抽象類中的抽象方法要被使用,必須有子類復寫起所有的抽象方法后雇锡,建立子類對象調(diào)用逛钻,如果子類只覆蓋了部分抽象方法,那么該子類還是一個抽象類

抽象類和一般類沒有太大的不同

該如何描述事物锰提,就如何描述事物曙痘,只不過,該事物出現(xiàn)了一些看不懂的東西

這些不確定的部分立肘,也是該事物的功能边坤,需要明確出現(xiàn),但是無法定義主體

通過抽象方法來表示谅年。

抽象類比一般類多了抽象函數(shù)

抽象類不可以實例化

特殊:抽象類中可以不定義抽象方法茧痒,這樣做僅僅是不讓該類建立對象

接口

接口:是不可以創(chuàng)建對象的,因為有抽象方法

實現(xiàn)接口的類必須對接口中的抽象方法全部覆蓋后融蹂,才能實例化旺订,否則這個類還是一個抽象類

接口是對外暴露的規(guī)則

接口是程序的功能擴展

接口可以用來多實現(xiàn)

類與接口之間是實現(xiàn)關系,而且類可以繼承一個類的同時實現(xiàn)多個接口

接口與接口之間可以有繼承關系

多態(tài)

多態(tài):可以理解為事物存在的多種體現(xiàn)形態(tài)

1.多態(tài)的體現(xiàn)

父類的引用指向了自己的子類對象

父類的引用也可以接收自己的子類對象

2.多態(tài)的前提

必須是類與類之間有關系超燃,要么有繼承区拳,要么有實現(xiàn)

通常還有一個前提,存在覆蓋

3.多態(tài)的好處

多態(tài)的使用大大提高了程序的擴展性

多態(tài)的弊端

提高了擴展性意乓,但只能使用父類的引用訪問父類的成員樱调。

4.多態(tài)的應用

Animal a = new Cat();//類型提升? 向上造型

//如果想要調(diào)用貓的特有方法時,如何操作?

強制將父類的引用笆凌,轉換成子類類型

Cat cat = (Cat)a;//向下造型

cat.catchMouse();

//千萬不要將父類對象轉成子類類型 圣猎,我們能轉換的是父類引用指向了自己的子類對象時,該引用可以被提升乞而,也可以被強制轉換

// 多態(tài)自始至終都是子類對象在做著變化

5.多態(tài)的出現(xiàn)代碼中的特點

在多態(tài)中成員函數(shù)(非靜態(tài))的特點:

Fu f = new Zi();

在編譯時期:參閱引用型變量(f)所屬的類中是否有調(diào)用的方法送悔。如果有,編譯通過爪模,沒有編譯失敗

在運行時期:參閱對象所屬(Zi)的類中是否有調(diào)用的方法放祟。

簡單總結:成員函數(shù)在多態(tài)調(diào)用時,編譯看左邊呻右,運行看右邊(類)

在多態(tài)中,成員變量的特點: 編譯和運行都看左邊(引用型變量所屬的類)

Fu f = new Zi(); f.num = 5? 父類中定義的? Int num = 5鞋喇;

Zi z = new Zi(); z.num = 8? 子類中定義的? Int num = 8声滥;

在多態(tài)中,靜態(tài)成員函數(shù)的特點: 編譯和運行都看左邊(引用型變量所屬的類) 靜態(tài)方法是不需要對象的

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侦香,一起剝皮案震驚了整個濱河市落塑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罐韩,老刑警劉巖憾赁,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異散吵,居然都是意外死亡龙考,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門矾睦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晦款,“玉大人,你說我怎么就攤上這事枚冗』航Γ” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵赁温,是天一觀的道長坛怪。 經(jīng)常有香客問我,道長股囊,這世上最難降的妖魔是什么袜匿? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮毁涉,結果婚禮上沉帮,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好穆壕,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布待牵。 她就那樣靜靜地躺著,像睡著了一般喇勋。 火紅的嫁衣襯著肌膚如雪缨该。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天川背,我揣著相機與錄音贰拿,去河邊找鬼。 笑死熄云,一個胖子當著我的面吹牛膨更,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缴允,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼荚守,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了练般?” 一聲冷哼從身側響起矗漾,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎薄料,沒想到半個月后敞贡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡摄职,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年誊役,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琳钉。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡势木,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出歌懒,到底是詐尸還是另有隱情啦桌,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布及皂,位于F島的核電站甫男,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏验烧。R本人自食惡果不足惜板驳,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碍拆。 院中可真熱鬧若治,春花似錦慨蓝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至婆跑,卻和暖如春此熬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背滑进。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工犀忱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扶关。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓阴汇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親节槐。 傳聞我的和親對象是個殘疾皇子鲫寄,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一:java概述:1,JDK:Java Development Kit疯淫,java的開發(fā)和運行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,650評論 0 11
  • 本文出自 Eddy Wiki 戳玫,轉載請注明出處:http://eddy.wiki/interview-java.h...
    eddy_wiki閱讀 1,202評論 0 5
  • 1. Java基礎部分 基礎部分的順序:基本語法熙掺,類相關的語法,內(nèi)部類的語法咕宿,繼承相關的語法币绩,異常的語法,線程的語...
    子非魚_t_閱讀 31,625評論 18 399
  • (一)Java部分 1府阀、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,101評論 0 62
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法缆镣,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,222評論 0 2