java學習之路------第十一天
今天我回我自己學校了,但是我晚上還是會整理筆記。
今天主要說了封裝,許可權修飾符,單例模式,和多型
一、許可權修飾符
public: 公共的
protected:受保護的
預設的:
private:私有的
作用域範圍:public在一個專案下都有用,protectd在本類,在子類,同一個包中都可以用,預設的只可以在本類和同一個包下可用,private只可以在本類可以用。
二、面向物件三大特徵之封裝
封裝的定義非常廣泛,像方法也屬於封裝的一種,類也屬於封裝的一種,包等也屬於封裝的一種。在java中說到的封裝,多指用private修飾的成員變數或成員方法。
封裝的意義:隱藏了具體的時下細節,僅對外提供公共的訪問方式。用關鍵字
公共的訪問方式:public返回值型別 getxxx()/setxxx()
封裝的好處:
1.增加了安全性
2.提高了複用性
3.提高了維護性
4.將變化隔離,方便使用
備註:在實際開發過程中,所有的成員變數都是用private修飾,對外提供公共的訪問方法。
三、單例模式() 一夫一妻制 一個類只有一個物件
單例模式的三個特點:
1、單例類只能有一個例項。
2、單例類必須自己建立自己的唯一例項。
3、單例類必須給所有其他物件提供這一例項。
經典的三種單例模式:
1、懶漢式:什麼時候用到,什麼時候進行例項化物件
2、餓漢式:先建立好物件,誰用誰呼叫
3、登記式(不用)
怎麼實現一個類只有一個物件?
思路:將構造方法私有化(只有本類可以建立自身物件)
四、面向物件三大特性之多型
理解:就是同一種事物在不同的形式下所表現出不同的形態
例:水 在零度溫度:冰 固態
在常溫下:水 液態
在100度以上:水蒸氣 氣態
多型的條件:
1.類之間必須要有繼承
2.成員方法必須有重寫
3.父類的引用指向子類的物件 Father f = new Son();
多型的執行過程:
編譯期 執行期
成員變數: 看型別 看型別
成員方法: 看型別 看物件
靜態方法: 看型別 看型別
instanceof關鍵字:
A:用於判斷某個物件是否是某種型別。
B:格式:
物件名 instanceof 子類(實現)名
多型的好處和弊端:
好處:增加了程式的可擴充套件性,提高了程式的維護性。
弊端:操作時只能訪問父類的相關方法,不能訪問子類的成員方法
(可以使用向下轉型解決該問題)