java學習筆記day8

2021-06-25 20:11:33 字數 2853 閱讀 4298

[多型]

定義:某一類事物的多種存在形式。

例:動物中貓,狗。

貓這個物件對應的型別是貓型別。

貓 x = new 貓();

同時貓也是動物中的一種,也可以把貓稱為動物。

動物 y = new 貓();

動物是貓和狗具體事物中抽取出來的父型別。

父型別引用指向了子類物件。

/*

多型:可以理解為事物存在的多種體現形態。

人:男人,女人。

動物:貓,狗。

貓 x = new 貓();

動物 x = new 貓();

1.多型的體現

父類的引用指向了自己的子類物件。

父類的引用也可以接收自己的子類物件。

2.多型的前提

3.多型的好處

多型的出現大大的提高了程式的擴充套件性。

4.多型的弊端

提高了擴充套件性,但是只能使用父類的引用訪問父類的方法。

5.多型的應用

*//*

動物:貓,狗。

*/abstract class animal

class cat extends animal

public void catchmouse() }

class dog extends animal

public void kanjia() }

class pig extends animal

public void gongdi() }

class duotaidemo

public static void function(animal a)

}

在多型中成員函式的特點:

在編譯時期:殘月引用型變數所屬的類中是否有呼叫的方法。如果有,編譯通過;如果沒有編譯失敗。

在執行時期:參閱物件所屬的類中是否有呼叫的方法。

簡單總結就是:成員函式在多型呼叫時,編譯看左邊,執行看右邊。

在多型中,成員變數的特點:

無論編譯和執行,都參考左邊(引用型變數所屬的類)。

在多型中,靜態成員函式的特點:

無論編譯和執行,都參考左邊。

[多型的主機板示例]

/*

需求:電腦執行例項。

電腦執行基於主機板。

*/class mainboard

public void usenetcard(netcard c) }

class netcard

public void close() }

class duotaidemo

}

介面的引用降低了耦合性,提高了擴充套件性。

/*

需求:電腦執行例項。

電腦執行基於主機板。

*/inte***ce pci

class mainboard

public void usepci(pci p) //pci p = new netcard;//介面型引用指向自己的引用物件。 }

}class netcard implements pci

public void close() }

class soundcard implements pci

public void close() }

class duotaidemo

}

[多型的擴充套件示例]

dao = data access object

/*

需求:資料庫的操作。

資料是 使用者資訊。

1.連線資料庫。jdbc

2.運算元據庫。

c create r read u update d delete

3.關閉資料庫連線。

*/class userinfodao

class userinfobyjdbc

public void delete(user user) }

class userinfobyhibernate implements useinfodao

public void delete(user user) }

class dboperate

}

[object類-equals()]

object:所有物件的超類

/*

object:是所有物件的直接或者間接父親,傳說中的上帝。

該類中定義的肯定是所有物件都具備的功能。

*/class demo //extends object

class person

class objectdemo

}

下面我們定義demo自己的比較方式,我們接下來根據上面的**改編,定義demo自己的功能:

/*

object:是所有物件的直接或者間接父親,傳說中的上帝。

該類中定義的肯定是所有物件都具備的功能。

object類中已經提供了對物件是否想通過的比較方法。

如果自定義類中也有相同的功能,沒有必要重新定義。

只要沿襲父類中的功能,建立自己特有比較內容即可。這就是覆蓋。

*/class demo //extends object

public boolean equals(object obj)//object obj = new demo();

/*public boolean compare(demo d)

*/}class person

class objectdemo

}

object類-tostring()  。。。。。。

DAY8學習筆記

檔案操作的基本概念 開啟檔案的模式有三種純淨模式 r 預設的 w a。控制操作檔案內容格式的兩種模式 t 預設的 b。大前提 tb模式均不能單獨使用,必須與純淨模式結合使用。t文字模式 1.讀寫檔案都是以字串為單位的。2.只能針對文字檔案。3.必須指定encoding引數。b二進位制模式 1.讀寫檔...

python學習筆記 day8

if 條件 語句if 條件 語句else 語句if 條件 語句elif 條件 語句else 語句python中使用elif代替else if,所以if語句的關鍵字是if elif else 需要注意的是 語句的縮排 python中沒有switch case語句 如果語句只有一條,可以寫在 if 後 ...

HTML學習筆記Day8

一 設定元素背景透明屬性 1.元素背景透明,內容正常顯示 注 opacity value 元素背景透明內容也透明 2.rgba分別指red green blue 透明度 二 flash和marquee 滾動字幕 1.插入flash 1 語法 2 將flash背景設定為透明 給標記新增屬性 wmode...