Java中的繼承及this,super的使用

2021-09-25 03:05:19 字數 3047 閱讀 2864

1、區域性**塊:方法**現

作用:用於限制變數的生命週期,及早釋放,提高記憶體利用率

public class codeblock 

}}

結果:10

2、構造**塊:類中的成員位置,每次呼叫構造方法執行前,都會先執行構造**塊

作用:可以把多個構造方法中的共同**放到一起,對物件進行初始化

class code

public code() }

public class codeblock

}

結果:100 1000 hello

3、靜態**塊:在類中的成員位置,用static修飾

作用:一般是對類進行初始化

class code

public code()

static

}public class codeblock

}

結果:1000 100 hello

執行順序: 靜態**塊(只執行一次) -- 構造**塊( 每次都執行) -- 構造方法

4、同步**塊

多個類存在相同的屬性和行為時,將這些內容抽取到乙個單獨的類中,那麼多個類無需再定義直接繼承這個類就行了

父類中定義一些共有的特性(成員變數,無參構造,帶參構造,成員方法)

子類中定義無參構造,帶參構造,子類特有的功能

1、格式:class 子類名 extends 父類名

class person

public void eat()

public void sleep()

}class student extends person {}

class teacher extends person {}

public class extenddemo

}

2、繼承的優點:

(1)提高了**的復用性

(2)提高了**的維護性

(3)讓類與類之間產生關係,是多型的前提

3、弊端:

類的耦合性增強了

開發的原則: 低耦合,高內聚

耦合:類與類的關係

內聚:自己完成某件事的能力

4、繼承的特點:

(1)只支援單繼承,不支援多繼承

(2)支援多層繼承

多層繼承:

class grandfather

}class father extends grandfather

}class son extends father {}

public class extenddemo2

}

5、注意事項:

(1)子類不能繼承父類的私有成員方法或變數,但子類可以通過訪問父類非私有方法來訪問私有變數

(2)子類不能繼承父類的構造方法,但可以通過super關鍵字去訪問父類的構造方法(super(方法名))

(3)不要為了部分功能而繼承

6、成員關係:

(1)繼承中構造方法之間的關係:

子類都會訪問父類的無參構造

預設存在語句super();

子類的構造方法執行前預設先執行父類的無參構造方法,

如果父類沒有無參構造方法的話就會報錯

報錯解決方法:

在父類中給出無參構造

在子類的無參構造中通過super(...)來訪問父類的帶參構造

(2)繼承中成員方法之間的關係:

通過子類呼叫方法:

現在子類中找,有就使用,沒有的話再去父類中尋找

繼承:

class people

public people(string name,int age)

public void show()

}class student2 extends people

}public class extenddeno4

}

1、區別:

this 代表本類對應的引用

super代表父類儲存空間的標識(可以理解為父類引用)

2、用法:

(1)呼叫成員變數:

this.成員變數

super.成員變數

(2)呼叫構造方法:

this(方法名)   (呼叫本類的構造方法)

super(方法名)(呼叫父類的構造方法)

(3)呼叫成員方法:

this.成員方法   (呼叫本類的成員方法)

super.成員方法 (呼叫父類的成員方法)

呼叫成員方法:

class newfather

class son1 extends newfather

}public class extenddemo3

}

子類**現和父類方法中方法宣告一樣的方法

應用:需要父類的功能,子類又有自己有的內容時,沿襲了父類的功能,又有了子類自己特有的功能

可以在重寫的方法中用super.方法名(引數)來呼叫父類的方法。

方法重寫的應用:

class clothes

}class moreclothes extends clothes

}public class extenddeno4

}

方法重寫的注意事項:

(1)方法中的私有方法不能被重寫

(2)子類重寫父類方法時,訪問許可權不能更低

(如:父類方法為public,子類重寫是許可權也應該是public及其以上,最好一致)

2、方法過載:

本類**現的方法名一樣,但是引數列表不同的方法

JAVA中的繼承

子類繼承父類的共享方法,父類中的private方法不能被共享 在同乙個包中,protected修飾的方法也可以被繼承,類成員如果不加任何修飾限定詞,預設的是包訪問許可權,也可以繼承這類方法。繼承的一般規則是 將所有的資料成員設定為private,所有方法設定為public 一般規則 package ...

Java中的繼承

一 繼承 1.在多個類中他們的屬性有共同的屬性這樣就可以在定義乙個共同的類,這個就可以的是父類。2.父類的屬性個方法,子類可以直接使,只要繼承了父類,其實就相當於擁有了父類的屬性和方法。3.子類的屬性和方法父類不能使用。4.子類構建的時候先初始化父類,然後再初始化子類。5.通過構造方法觀察子類自動呼...

Java中的繼承

在繼承的關係中,子類就是乙個父類 即,子類可以被當作父類看待。例如 父類是員工,子類是講師,那麼 講師就乙個員工 關係 is a。定義父類的格式 乙個普通的類定義 public class 父類名稱 定義子類的格式 public class 子類名稱 extends 父類名稱 定義乙個父類 員工 c...