1、封裝
封裝就是把特定的功能封裝在一起,留出少數的接口供外部訪問。
好處:a保證內部數據安全穩定 b 功能模塊化,便於維護 c 增加了代碼的可讀性
用在那些地方:比如登錄 註冊 支付 退款 表單保存 等
public protect private 定義了不同類的訪問權限,可以控制外部訪問
2、繼承:
爲了利用父類的方法,不方便或者不不能修改父類,就可以繼承父類方法,並且增加子類特有的屬性
好處: 代碼複用,減少代碼量 結構清晰 便於修改和維護
子類繼承父類的方法 有 使用父類方法、重寫 重載
重寫:和父類方法的名稱參數完全一樣
重載:重寫一遍父類方法 ,名稱不變,參數變化
3多態:
不同類的對象對同一消息做出響應
動態的使用子類的方法 要以繼承爲基礎
多態一般包括三個過程 繼承父類方法 重載/重寫父類方法 父類引用指向父類。
主要用在一個父類有多個子類,調用一個公共的父類方法,本質上是靈活調用子類方法。
一個 經典例子,看懂這個就對多態有一定了解
class A{
public void Out(A a){
system.out.print("我是A A")
}
public void Out(D d){
system.out.print("我是A D")
}
}
class B extend A{
public void Out(A a){
system.out.print("我是B A")
}
public void Out(B b){
system.out.print("我是B B")
}
}
Class C extends B{}
Class D extends B{}
調用測試:
public static void main(String args []){
A a1=new A();
A a2 =new B();
B b =new B();
C c =new C();
D d=new D();
1 system.out.println(a1.Out(c))
2 system.out.println(a2.Out(a))
3 system.out.println(b.Out(c))
4 system.out.println(c.Out(a))
5 system.out.println(d.Out(d))
}
輸出 1我是 BB
2 我是 BA
3 我是 BB
4 我是 BA
5 我是 BB
附 多態執行的先後順序是
this.call(this) super.call(this) this.call(super) super.call(super)
有不明白的加QQ 286867129