JAVASE 物件導向 四

2021-08-28 11:01:18 字數 1663 閱讀 1387

多型:在同乙個時刻體現不同的狀態,多型主要體現在向不同的物件傳送同乙個資訊,不同的物件在接受到資訊後產生不同的行為(方法),物件可以用自己的方法去響應共同的資訊。

多型性的表現:1.方法的過載與重寫  2.子類物件的多型性

使用的前提:1.要有繼承關係。2.要有方法的重寫

格式:person p=new man();//向上轉型

//虛擬方法呼叫:父類的引用 指向子類的例項物件,當呼叫方法時,實際上是子類重寫父類的方法

編譯時:認為p是person型別的,所以只能通過p訪問person擁有的屬性和行為,man特有的屬性和行為不能訪問。

反正一句話,訪問變數看宣告,訪問方法看實際物件型別(new出來的型別)

例子:

關於向下轉型

1.向下轉型,使用強轉符:()

2.為了不報classcastexception ,最好在向下轉型前進行判斷:instanceof

if(p instanceof  woman)

2.關於方法

equals(object obj)

public boolean equals(objec obj)

當我們沒有重寫object類的tostring()方法時,列印的就是物件所在的類,以及物件實體在堆空間的位置

2.一般我們需要重寫object類的tostring()方法,將此物件的各個屬性值返回。

3.像string類、date、file類、包裝類都重寫了tostring()方法。

包裝類基本資料型別           包裝類

1.基本資料型別與對應的包裝類有自動裝箱、自動拆箱

如:int i = 10;      

integer i1 = i;//自動裝箱    

int j = i1;//自動拆箱

2.基本資料型別、包裝類---->string類:呼叫string類的過載的valueof(*** xx);  

string類---->基本資料型別、包裝類:呼叫相應的包裝的par***xx(string str);

注意:string str = "123";        

int i = (int)str;是錯誤的轉法。

JAVA SE 物件導向

封裝 繼承 多型 符合我們思想習慣的思想 複雜事情簡單化 執行者變成指揮者 事物 類 封裝 屬性,功能 屬性 成員變數 屬性 功能 成員方法 功能 例項化類 建立物件 leiming duixiangming new leiming 獲取屬性 duixiangming.shuxingming 呼叫方...

JavaSE 物件導向下

1.1.定義乙個father和child類,並進行測試。要求如下 1 father類為外部類,類中定義乙個私有的string型別的屬性name,name的值為 zhangjun 2 child類為father類的內部類,其中定義乙個introfather 方法,方法中呼叫father類的name屬性...

JAVASE 物件導向(二)

物件導向的特徵 封裝性,繼承性,多型性 封裝性 當建立了類以後,通過 物件.屬性 的方式對相應的屬性賦值的話,可能會出現不滿足實際情況的意外,我們考慮不讓物件直接作用屬性,而通過 物件.方法 的形式,來控制物件屬性的訪問。1.將屬性私有化 2.提供公共的set,get方法 許可權從大到小 publi...