封裝 訪問許可權 繼承 深入 super和this

2021-10-07 02:57:02 字數 2768 閱讀 3534

二、訪問許可權

三、繼承(inheritance)—深入

4.繼承後的特點——成員方法

5.繼承後的特點——構造方法

四、super和this

防止該類的**和資料被其他類隨意訪問,要訪問該類的資料,必須通過指定的方式。適當的封裝可以讓**更容易理解與維護,也加強了**的安全性。

將屬性隱藏起來,若需要訪問某個屬性,提供公共方法對其訪問。

1)private的含義

2)private的使用格式

private  資料型別  變數名;

使用private修飾成員變數,**如下:

public

class

person

提供get***方法/set***方法,可以訪問成員變數,**如下:

public

class

person

public

void

setname

(string name)

public

boolean

isgender()

public

void

setgender

(boolean gender)

public

intgetage()

public

void

setage

(int age)

}

通過訪問許可權 public protected default private 來封裝類、方法及屬性,達到隱藏細節的目的,最終達到「該露的露,不該露的別瞎露」 目的。

private可以修飾成員變數,成員方法,構造方法,不能修飾類(此刻指的是外部類,內部類不加以考慮)

de****t即不寫任何關鍵字,它可以修飾類,成員變數,成員方法,構造方法

protected可以修飾成員變數,成員方法,構造方法,但不能修飾類(此處指的是外部類,內部類不加以考慮)

public是許可權最大的修飾符,他可以修飾類,成員變數,成員方法,構造方法

繼承:就是子類繼承父類的屬性和行為,使得子類物件具有與父類相同的屬性、相同的行為。子類可以直接訪問父類中的非私有的屬性和行為。

如果子類父類**現不重名的成員變數,這時的訪問是沒有影響的。

如果子類父類**現重名的成員變數,這時的訪問是有影響的。

class

fuclass

ziextendsfu}

class

extendsdemo03

}演示結果:

fu num=

6zi num=

6

子父類**現了同名的成員變數時,在子類中需要訪問父類中非私有成員變數時,需要使用super關鍵字,修飾父類成員變數,類似於之前學過的this。

super使用格式:

super.父類成員變數名

子類方法需要修改,**如下:

class

ziextendsfu}

演示結果:

fu num=

5zi num=

6

如果子類父類**現不重名的成員方法,這時的呼叫是沒有影響的。

如果子類父類**現重名的成員方法,這時的訪問是一種特殊情況,叫做方法重寫(override)。

**如下:

classfu}

class

ziextendsfu}

public

class

extends demo05

}

子類可以根據需要,定義特定於自己的行為。既沿襲了父類的功能名稱,又根據子類的需要重新實現父類方法,從而進行擴充套件增強。

注意事項:

1.構造方法的名字是與類名一致的。所以子類是無法繼承父類構造方法的。

2.構造方法的作用是初始化成員變數的。所以子類的初始化過程中,必須先執行父類的初始化動作。子類的構造方法中預設有乙個super(),表示呼叫父類的構造方法,父類成員變數初始化後,才可以給子類使用。

**如下:

classfu}

class

ziextendsfu}

public

class

extendsdemo07

}輸出結果:

fu()

zi()

訪問成員:

this

.成員變數 ‐‐ 本類的

super

.成員變數 ‐‐ 父類的

this

.成員方法名(

) ‐‐ 本類的

super

.成員方法名(

) ‐‐ 父類的

訪問構造方法:

this(.

..) ‐‐ 本類的構造方法

super(.

..) ‐‐ 父類的構造方法

子類的每個構造方法中均有預設的super(),呼叫父類的空參構造。手動呼叫父類構造會覆蓋預設的super()。super()和this()都必須是在構造方法的第一行,所以不能同時出

繼承訪問許可權

當子類繼承了某個類後,便可以使用父類中的成員變數,當並不是完全繼承父類的所有成員變數,具體原則如下 變數原則 1 能夠繼承父類的public和protected變數.不能夠繼承父類的private變數 package test1 class son public class a extends so...

C 類繼承訪問許可權及外部訪問許可權

c 訪問許可權問題主要包括兩種 一種是外界對類成員的普通訪問,主要通過類內的public protected private許可權修飾符 另一種是繼承關係中子類對父類成員的訪問。基本原則 外界只能訪問類中public成員,子類可訪問父類的public和protected成員 不同繼承方式只影響外界 ...

C 繼承 訪問許可權控制

三種訪問許可權 public 可以被任意實體訪問 protected 只允許子類及本類的成員函式訪問 private 只允許本類的成員函式訪問 三種繼承方式 public 繼承 protect 繼承 private 繼承 組合結果 基類中 繼承方式 子類中 public public繼承 publi...