1.概念
1.字面上,事物的多種形態
2.本質:乙個類的物件在編譯的時候並不明確使用哪個物件,只有在執行的時候才確定,父類引用資料型別指向子類的物件
2.作用:
提公升物件的作用範圍
3.條件
3.1向上轉型
3.2必須有繼承或者實現關係
4.應用領域:
4.1作為引數傳入
4.2作為返回值
父類的引用資料型別變數指向子類的物件
變數的獲取以及使用:向上轉型後:
注意的點:
1.1 擁有相同的名字的普通成員變數(包括靜態變數)時,訪問的是父類的
1.2 擁有相同名字的普通成員方法(非靜態方法時),訪問的是子類的
1.3 擁有相同名字的靜態成員方法,訪問的是父類的
1.4 父類的引用型別變數訪問不到子類特殊的成員
如果我要訪問子類的特有成員,該怎麼辦?
型別轉型
強**轉換的兩者必須存在繼承或實現關係,否則不能進行。
1.懶漢**:
class single
public void setage(int age)
private single()
private static single s =null;
public static single getinstances()
return s;
}}
2.惡漢**:
class single
public void setage(int age)
private single()
private static single s=new single();
public static single getinstances()
}
1. 總體來說設計模式分為三大類:
建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。
2.在處理某些情況下一種約定俗成,並且行之有效的方法
3. 主要是為了解決在計算機記憶體中某個類只存在乙個物件這種情況
裝飾者設計模式
工廠設計模式
**設計模式
物件導向5
以下不是包裝類 包裝類 nsvalue 是 nsnumber的父類,nsvalue 代表乙個更通用的包裝類,nsnumber是更具體的包裝類,nsnumber主要包括以下三個方法 nsnumber num nsnumber numberwithint 20 nslog d num intvalue ...
物件導向5
object equals tostring object 是所有物件的直接後者間接父類,傳說中的上帝。該類中定義的肯定是所有物件都具備的功能。object類中已經提供了對物件是否相同的比較方法。如果自定義類中也有比較相同的功能,沒有必要重新定義。只要沿襲父類中的功能,建立自己特有比較內容即可。這就...
JAVA 物件導向
this關鍵字只能在方法內部使用,表示 呼叫方法的那個物件 的引用。this 用於建構函式之間進行相互呼叫。語句只能定義在建構函式的第一行。static 靜態 使用注意事項 1.靜態方法只能訪問靜態成員。非靜態方法可以訪問靜態成員。2.靜態方法中不可以定義this,super關鍵字。因為靜態優先於物...