一、封裝安全
封裝就是把特定的功能封裝在一塊兒,留出少數的接口供外部訪問。模塊化
好處:a保證內部數據安全穩定 b 功能模塊化,便於維護 c 增長了代碼的可讀性測試
用在那些地方:好比登陸 註冊 支付 退款 表單保存 等this
public protect private 定義了不一樣類的訪問權限,能夠控制外部訪問對象
二、繼承:繼承
爲了利用父類的方法,不方便或者不不能修改父類,就能夠繼承父類方法,而且增長子類特有的屬性接口
好處: 代碼複用,減小代碼量 結構清晰 便於修改和維護 class
子類繼承父類的方法 有 使用父類方法、重寫 重載登錄
重寫:和父類方法的名稱參數徹底同樣基礎
重載:重寫一遍父類方法 ,名稱不變,參數變化
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