我的類,物件的關鍵字

2021-10-06 15:23:32 字數 2320 閱讀 4895

1.介面-inte***ce(關鍵字):

**介面的特殊的抽象類,介面中只能定義常量和抽象方法。(介面中的方法都是抽象方法)

**建立介面:

public

inte***ce

run

**介面的實現(定義實現類)-implements(實現):

public

class

runlmpl

implements

runpublic

void

run1()

}

**乙個class只能繼承乙個父類。

public class aextends b

**乙個class可以實現多個介面

public class a implements b,c

**乙個類可以同時繼承乙個父類實現多個介面

public class a extends b implements c,d

**介面可以被繼承(extends):

public inte***ce subrun extends run

2.多型:乙個物件可以有多鐘狀態

例子:inte***ce - 定義乙個介面, 介面名字customer(技術顧問) : answer() -解決問題, train()-- 培訓

-------實現技術顧問的介面的類的物件都是技術顧問,只是每個類的實現方式不同。

nte***ce - 定義乙個介面, 介面名字author(圖書作者): write() – 寫書

abstract class - 抽象類, 抽象類的名字emp (name, age ,***, 上班打卡, 下班打卡)

------繼承emp的類的物件都是員工, 員工可以是講師,可以是班主任, 可以是就業老師

class - 名叫teacher(技術方向,上課, 檢查作業)

------teacher 實現customer, auther , 繼承emp , 那麼teacher的物件就可以是技術顧問,是作者是員工。

class - 名字叫classteacher(學歷, 考勤,開班會)

------classteacher 繼承emp , 那麼classteacher是員工

inte***ce

customer

inte***ce

auther

abastract class

empclass

teacher

extends

empimplements

customer

,auther

// 建立物件:

teacher t =

newteacher()

;// teacher是teacher

auther a =

newteacher()

;// -- teacher是auther

emp e =

newteacher()

;// -- teacher是emp

customer c =

newteacher()

;// -- teacher是customer.

3.內部類:

**把乙個類定義到某乙個類中,這個類就是內部類,把這個包含內部的類稱為外部類。

**內部類的使用情況:當乙個類的存在僅僅為某乙個單獨的類進行服務的時候,那麼就將這種提供服務的類作為被服務的類的內部類,建議內部私有化,不建議其他類來使用摸個類的內部類,這個內部類,類似於外部類的屬性

class outer}

**怎麼建立內部類:先建立乙個內部類,然後通過外部類建立內部類。

outer out =

newouter()

;inner in = out.

newinner()

;//lnner需要導包

4.匿名內部類:

**如果沒有名字的內部類,就是匿名內部類。

**如果乙個類中需要建立某個物件(這個物件的型別是要實現某個介面或繼續某個類),這個物件建立之後,這個類不再使用,那麼這種時候可以使用匿名內部類來建立物件。

class

test}}

}

類的幾個關鍵字

1 成員變數和區域性變數的區別 1 區域性變數 在方法中或者方法上 區域性變數在棧記憶體中 區域性變數隨著方法的結束而消失 區域性變數在使用前必須有值。2 成員變數 在類中方法外 在堆記憶體中 隨著物件的生成而出現,隨著物件的消失而消失 在初始化時可以不賦值。2 匿名物件 1 匿名物件一般只用一次,...

類中的 this關鍵字

this可用於區分區域性變數和成員變數,因為建構函式中如果使用 this.成員變數 引數值,那麼可以在new物件時,將初始化值賦值給成員變數,否則成員變數賦值失敗,所以this可以區分成員變數和區域性變數 class person person string n 在賦值時,如果引數名和成員變數名相同...

我認為的python yield 關鍵字

在學習python時被yield搞暈了頭,像是return又不像是return,所以自己研究了下。如有不對的地方還請大家諒解。def creategenerator mylist range 3 for i in mylist yield i i obj creategenerator 乙個迭代器但...