面向物件
構造器
實體化初始值
-
使用new關鍵字,本質是在呼叫構造器
-
有參構造:一但定義了有參構造,無參就必須顯示定義(必須有)
-
默認無參構造
-
private 屬性私有(無法被繼承)
-
get/set 獲得屬性,設定值
-
封裝(資料的隱藏)
通常,應禁止直接訪問一個物件中資料的實際表示,而是通過操作介面來訪問,這稱為資訊隱藏,
繼承
- 繼承的本質是對某一批類的抽象,從而實作對顯示世界更好的建模,
- extends的意思是"擴展“,子類是父類的擴展,
- Java忠的類只有單繼承,沒有多繼承!
- 繼承是類和類之間的一種關系,除此之外,類和類之間的關系還有依賴、組合、聚合等,
- 繼承關系的兩個類,一個為子類(派生類)、一個為父類(基類),子類繼承父類,使用關鍵字extends來表示,
- 子類和父類之間,從意義上講應該具有“is a”的關系,
- Java所有類都繼承object類
- super(呼叫父類構造器,必須在子類構造器第一行,可以不寫默認)
- 必須只能出現在子類的方法或者構造方法中!
- super和this不能同事呼叫構造方法!
- Vs this:
- 代表的物件不同
- this:本身呼叫者這個物件
- super:代表父類物件的應用
- 前提
- this:沒有繼承也可以使用
- super:只能在繼承條件才可以使用
- 構造方法
- this():本類的構造!
- super():父類的構造!
- 代表的物件不同
- 方法重寫:需要有繼承關系,子類重寫父類的方法!
- 方法名必須相同
- 引數串列必須相同
- 修飾符:范圍可以擴大但不能縮小:public》protected》default》private
- 拋出的例外:范圍,可以縮小,但不能擴大:classnotFoundException——》Exception(大)
- ctrl+H查看繼承樹
多型
-
同一個方法可以根據發送物件的不同而采取多種不同的行為方式,
-
一個物件的實際型別是確定的,但可以指向物件的參考型別有很多,
-
多型存在的條件
- 有繼承關系
- 子類重寫父類方法
- 父類參考指向子類物件
-
多型是方法的多型,屬性沒有多型性
//可以指向的參考型別就不確定了:父類的參考指向子類 Sudent s1=new Student(); Person s2=new Student(); Object s3=new Student(); -
instanceof(型別轉換)參考型別
-
父類參考指向子類的物件
-
把子類轉換為父類向上轉型;
-
把父類轉換為子類,向下轉型;強制轉換
-
方便方法呼叫,減少重復的代碼!
什么是面向物件
- 本質:以類的方式組織代碼,以物件的組織(封裝)資料,
- 抽象:編程思想!持續的學習
- 三大特性:
- 封裝
- 繼承
- 多型
- 從認識論角度考慮是先有物件后有類,物件,是具體的事物,類,是抽象的,是對物件的抽象
- 從代碼運行角度考慮是先有類后有物件,類是物件的模板,
static
-
優先執行靜態代碼塊>匿名代碼塊>構造方法
-
static只執行一次通常用來賦初始值,
-
final不可被繼承
抽象類
abstract,抽象類,抽象方法,只有名字沒有方法的實作!
- 不能new這個抽象類,只能靠子類去實作它;約束!
- 抽象類忠可以寫普通方法
- 抽象方法必須在抽象類中
- 抽象的抽象:約束~
介面
- 普通類:只有具體實作
- 抽象類:具體實作和規范(抽象方法)都有!
- 介面:只有規范!自己無法寫方法~專業的約束!約束和實作分離
- 介面就是規范,定義的是一組規則,提現了現實世界中“如果你是……則必須能……”的思想,
- 介面的本質是契約,就像法律一樣,制定好后遵守,
- OO的精髓,是對物件的抽象,最能體現這一點的就是介面,為什么我們討論設計模式都只是針對具備了抽象能力的語言,就是因為設計模式所研究的,實際上就是如何合理的去抽象,
- 宣告類的關鍵字是class,宣告介面的關鍵字是interface
定義
public interface user{
//介面中的所有定義其實都是抽象的public abstract
}
//類實作介面
public class users implements user{
}
//可以側面實作多繼承
public class users implements user, person{
}
- 介面不能被實體化,沒有構造方法
- implements可以實作多個介面
- 必須要重寫介面中的方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/353115.html
標籤:Java
上一篇:【JAVA】筆記(4)---繼承;方法覆寫;多型機制;super;
下一篇:使用橋接模式設計復雜的訊息系統
