国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Java中繼承,類的高級概念的知識點

2019-11-14 23:57:08
字體:
來源:轉載
供稿:網(wǎng)友
java中繼承,類的高級概念的知識點

1.繼承含義

在面向對象編程中,可以通過擴展一個已有的類,并繼承該類的屬性和行為,來創(chuàng)建一個新的類,這種方式稱為繼承(inheritance).

2.繼承的優(yōu)點

A.代碼的可重用性

B.子類可以擴展父類的屬性和方法

C.父類的屬性和方法可用于子類

D.設計應用程序變得更加簡單

3.如何判斷類具有繼承關系?

類與類的關系: a. has—a(組合關系)

b. is—a(繼承關系)

4. Java中繼承的實現(xiàn)(關鍵字:extends)

關鍵字extends出現(xiàn)在類聲明時的類名后,extends后面跟著的是要繼承的類的名稱。例如:public class Salary extends Emp{

}

5.繼承具有單根性和傳遞性

6.所有類的根類Object(基類,超類)

public class Emp extends Object{

}

Object類中的方法簽名:

A.public final Class getClass( )

B.public int hashCode( )該方法返回對象的哈希值碼。

C.public boolean equals(Object x)該方法可以檢測兩個對象是否相等。

D.PRotected Object clone() throws CloneNotSupportedException

E.public String toString()該方法返回對象的字符串表示。

F.protected void finalize() throws Throwable:該方法在對象將要被垃圾回收時調用。

G.public final void wait() throws InterruptedException:線程

H.public final void notify():線程

7.方法重寫(方法重寫出現(xiàn)在子類中,子類重寫父類的方法,構造方法不能被繼承)

A.方法重寫含義:子類可以重寫從父類繼承的方法,從而允許子類添加或者改變父類中方法的行為。

B.子類重寫父類需遵循的規(guī)則:

a.子類的方法的方法名,返回值類型,參數(shù)列表都必須與父類中的相同。

b.子類的訪問修飾符必須不小于父類中的訪問修飾符。(子類中的訪問修飾不能比父類中的更嚴格)

c.子類中重寫的異常不能拋出比父類更多的異常。

8.super關鍵字

A.子類用關鍵字super來調用父類中重寫的方法(super指代的是父類對象)

B.使用super調用父類的構造器,如果構造器沒有使用super關鍵字,那么編譯器會自動添加一個無參的super()來調用父類構造器

9.final關鍵字

a.final變量不能被改變

b.final類不能被繼承

c.final方法不能再被重寫

10. 訪問修飾符

本類

同一包中不同類

不同包

子類

public

Y

Y

Y

Y

protected

Y

Y

Y

default(不寫)

Y

Y

private

Y

11.封裝

A.含義:封裝是使類中的成員變量都是private,并提供public方法訪問這些成員變量的技術。

B.封裝使用getter,setter,

例如:public int getId(){

}

public void setId(int id){

this.id = id;

}

C.封裝優(yōu)點:

a.類的成員變量可以成為只讀或只寫

b.類可以對存儲在其它成員變量中的內容有一個整體的控制

c類的用戶不需要知道類是如何存儲數(shù)據(jù)的

12. 靜態(tài)成員:用static修飾的成員,static可以被共享,訪問靜態(tài)成員要使用 類名. 。靜態(tài)方法不能訪問非靜態(tài)成員。

13. 靜態(tài)初始化塊:

例如:public class Rad{

static {

//靜態(tài)代碼塊出現(xiàn)在構造器之前

}

}

14. 非靜態(tài)(成員代碼塊)(實例化初始塊):

例如:public class Rad{

{

//實例化初始塊

}

}

實例化初始塊中的語句在任何父類構造器調用之后,在子類構造器調用之前執(zhí)行。

15. 內部類:在類的內部定義的類,內部類所在的類類稱為外部類。

A.內部類的特點 :

  1. 獨立的class文件
  2. 同樣需要編譯
  3. 同樣可以產生對象

B.靜態(tài)內部類:

定義方法: class Outer{

static class Inner{

//靜態(tài)內部類不能訪問到外部的成員,除非外部成員也是靜態(tài)成員

}

}

靜態(tài)內部類創(chuàng)建對象:a.用外部類. b.導入內部類所在的包 c.用全限定名

C.成員內部類:

定義方法:class Outer{

class Inner{

//成員內部類可以訪問到外部的成員

}

}

成員內部類創(chuàng)建對象:Outer outer = new Outer();

Outer.Inner inner = outer.new Inner();

D.局部內部類:只能在方法內部中使用

定義方法:class Outer{

Void fd(){

class Inner{

//局部內部類

}

}

new Inner().fd();

}

E.匿名內部類:沒有名字

形式定義:new 類或接口的名字(){

//匿名內部類的主體

}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 百色市| 炎陵县| 封开县| 固原市| 北宁市| 乌苏市| 庆安县| 天水市| 常山县| 正安县| 内丘县| 贵南县| 凭祥市| 贵州省| 宝丰县| 府谷县| 卓尼县| 伽师县| 留坝县| 南郑县| 灌阳县| 五河县| 九龙坡区| 密云县| 丹巴县| 林甸县| 拜城县| 樟树市| 平利县| 新宾| 合肥市| 孟州市| 和平县| 微山县| 织金县| 巴彦县| 惠水县| 西乌珠穆沁旗| 布尔津县| 河津市| 巴中市|