Java5
面向對象
使用new關鍵字創建對象

//實例化初始值
使用new關鍵字,本質是在調用構造器

有參構造,必須要有無參構造
構造器:
- 和類名相同
- 沒有返回值
作用:- new本質在調用構造器
- 初始化對象的值
注意點:
定義有參構造之后,如果想使用無參構造,無參要顯示地定義
類有點難理解

剛才遇到兩個錯誤
- 不在同一個package里的class是不能調用的
- packageDemo01和classDemo01重名也會報錯

狂神的筆記hh
- 類是一個模板,對象是具體的實例
- 方法:定義、調用
- 對應的引用,對象是通過引用來操作的:棧-->堆
- 屬性:字段Field 成員變量
默認初始化:
數字:0 0.0
char:u0000
Boolean: false
引用:null - 對象的創建和使用
必須使用new關鍵字創造對象,構造器 Person hao=new Person()
對象的屬性 hao.name
對象的方法 hao.sleep - 類
靜態的屬性
動態的行為 方法
封裝
高內聚(類的內部數據操作細節自己完成,不允許外部干涉)
低耦合(僅暴露少量方法給外部使用)
屬性私有

- 提高程序安全性,保護數據
- 隱藏代碼的實現細節
- 提高程序可維護性
- 統一接口
繼承
public class Student extends Person
Person是父類,Student是子類
子類繼承父類,就會繼承父類所有的方法
只有單繼承,沒有多繼承。
一個兒子只能有一個爸爸

this是當前子類的,super是父類的
super注意點:
- super調用父類的構造方法,必須在構造方法的第一個
- super必須只能出現在子類的方法或者構造方法中
- super和this不能同時調用構造方法
this:本身調用者這個對象
super:代表父類對象的應用
構造方法
this();本類的構造
super();父類的構造

父類的引用指向了子類
方法的調用只和定義的數據類型有關

靜態方法和非靜態方法不一樣,子類重寫了父類的方法
方法重寫只能用public,不能用private
重寫
需要有繼承關系,子類重寫父類的方法!
- 方法名必須相同
- 參數列表必須相同
- 修飾符:范圍可以擴大:public>protected>default>private
- 拋出的異常:范圍可以被縮小,但不能擴大;ClassNotFoundException-->Exception
子類方法與父類方法必須一致;方法體不同
為什么需要重寫
- 父類的功能,子類不一定需要,或者不一定滿足
多態
動態編譯:類型:可擴展性
多態注意事項
- 多態是方法的多態,屬性沒有多態
- 父類和子類,有聯系,類型轉換異常!ClassCastException!
- 存在條件:繼承關系,方法需要重寫,父類引用指向子類對象哎!Father f1=new Son();
- static 方法,屬于類,不屬于實例
- final 常量
- private方法
??三個不能多態
instanceof比較轉化類,存在父子關系就能通過編譯
- 父類引用指向子類對象
- 把子類轉換為父類,向上轉型
- 把父類轉換為子類,強制轉換
- 方便方法的調用,減少重復代碼

浙公網安備 33010602011771號