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 run2.多型:乙個物件可以有多鐘狀態
例子: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 乙個迭代器但...