暴露的規則 使用規則 實現規則
這些裝置和電腦的耦合性降低了
inte***ce usb //暴露的 規則
class bookpc
//使用規則
public static void useusb(usb u)//介面型別的引用,用於接收(指向)介面的子類物件 }
//一年以後----------
//實現規則
//這些裝置和電腦的耦合性降低了
class upan implements usb
public void close() }
class usbmouse implements usb
public void close()
}
定義:某一類事物的多種存在形態。
例:動物中貓,狗。
貓這個物件對應的型別是貓型別:貓 x = new 貓();
同時貓也是動物中的一種,也可以把貓稱為動物:動物 y = new 貓();
動物是貓和狗具體事物中抽取出來的父型別。
父型別引用指向了子類物件。
多型性簡單說就是乙個物件對應著不同型別。
乙個多型對應著不同型別
多型在**中的體現
多型好處: 提高了**的擴充套件性,前期定義的**可以使用後期的內容
弊端:前期定義的內容不能使用(呼叫)後期子類的特有內容
前提:1, 必須有關係,繼承,實現
2,有覆蓋
/*多型
好處 提高了**的擴充套件性,前期定義的**可以使用後期的內容
弊端:前期定義的內容不能使用(呼叫)後期子類的特有內容
前提:1,必須有關係,繼承,實現
2,有覆蓋
*/abstract class animal
class dog extend animal
void lookhome() }
class cat extend animal
}class duotaidemo
public static void method(animal a)
}
注意:
instanceof :用於判斷物件的具體型別,只能用於引用資料型別判斷,通常在向下轉型前用於健壯性的判斷。
1,成員變數
編譯時:參考引用型變數所屬的類中的是否有呼叫的成員變數,有,編譯通過,沒有,編譯失敗
執行時,參考引用型變數所屬的類中的是否有呼叫的成員變數,並執行該所屬類中的成員變數
2,成員函式(非靜態)
編譯時:參考引用型變數所屬的類中是否有呼叫的函式。有,編譯通過,沒有,編譯失敗
執行時:參考的是物件所屬的類中是否有呼叫的函式
簡單的說:編譯看左邊,執行看右邊
3,靜態函式
編譯時:參考引用型變數所屬的類中的是否有呼叫的靜態方法
執行時:參考引用型變數所屬的類中的是否有呼叫的靜態方法
簡單說,編譯和執行都看左邊
其實對於靜態方法,是不需要物件的,直接用類名呼叫
/*多型時,成員的特點
1,成員變數
編譯時:參考引用型變數所屬的類中的是否有呼叫的成員變數,有,編譯通過,沒有,編譯失敗
執行時,參考引用型變數所屬的類中的是否有呼叫的成員變數,並執行該所屬類中的成員變數
2,成員函式(非靜態)
編譯時:參考引用型變數所屬的類中是否有呼叫的函式。有,編譯通過,沒有,編譯失敗
執行時:參考的是物件所屬的類中是否有呼叫的函式
簡單的說:編譯看左邊,執行看右邊
3,靜態函式
編譯時:參考引用型變數所屬的類中的是否有呼叫的靜態方法
執行時:參考引用型變數所屬的類中的是否有呼叫的靜態方法
簡單說,編譯和執行都看左邊
其實對於靜態方法,是不需要物件的,直接用類名呼叫
*/class fu
static void method() }
class zi extends fu
static void method() }
class duotaidemo3
}
學習第十天
一 介面 jdk1.8及之後新增了2中可以定義存在方法體的方法 預設方法 default關鍵字修飾的方法 使用 通過實現類物件使用 靜態方法 使用 通過介面名去呼叫 二 單例模式 保證類只能存在乙個例項 餓漢式 先建立物件,然後需要的人要這個物件,保證永遠使用的都是這個建立好的物件 執行緒安全的,效...
python學習第十天
class student count 0 def init self,name,age,address self.name name self.age age self.address address student.count 1 k print k w open a.txt w encodin...
菜鳥學習第十天
1.字串最大的特點 一旦初始化就不可以改變。不可改變的字串內容而不是指向字串的引用 2.string s abc 其中s是乙個類型別變數,abc 是乙個物件。3.string s1 abc 和string s2 new string abc s1 s2 和s1.equals s2 比較的是他們在記憶...