java基礎,面向?qū)ο蟮娜筇卣?/h1>
【面向?qū)ο蟆?/strong>
三大特征:
封裝-->提高程序的安全性 (數(shù)據(jù)的準確性)
繼承-->提高代碼的復用性 (重復使用性)
多態(tài)-->提高程序的可擴展性和可維護性
一.封裝
隱藏對象內(nèi)部的復雜性,只對外公開簡單的接口,便于外界調(diào)用,提高程序的安全性
隱藏實現(xiàn)的細節(jié) 僅僅需要關注具體的功能
方法的抽取 僅僅需要關注方法的功能 忽略方法實現(xiàn)的細節(jié)
項目的模塊化設計 層次的劃分
1.對類的屬性進行隱藏
使用private關鍵字 修飾類的成員變量
private修飾的成員變量 僅僅可以在當前類中直接使用
Public class Person{
private String name;
private String gender;
private int age;
}
2.給每個屬性提供公有的get(獲取)和set(賦值)方法

測試代碼:

總結(jié):
屬性全部隱藏 對象內(nèi)部的特點不讓外界知道 我們僅僅需要關注對象的功能即可 內(nèi)部的實現(xiàn) 使用了哪些成員 統(tǒng)統(tǒng)不用考慮
數(shù)據(jù)的安全性和和規(guī)范性更高
二.繼承
java中由已知類創(chuàng)建新類的一種機制,新類擁有已知類的屬性和方法,同時,還可以有自己獨有的屬性和方法
減少相同代碼的反復編寫,提高代碼的復用性,減少編碼量,提高程序的可維護度
繼承是怎么來的?
是對N多個類的抽像
根據(jù)N多個類,抽取出像的部分,歸納為父類,被抽取的類,稱為子類
1.在Java中如何實現(xiàn)繼承?
在java中使用extends (擴展)實現(xiàn)繼承,說明子類是父類的擴展
新類(子類) extends 已知類(父類)
一個父類可以有多個子類,但是一個子類只能有一個直接父類

【例】
1.先準備父類

2.準備子類
Audi

BMW

測試代碼:

2.super關鍵字
1.當子類中重寫父類中同名的屬性
那么在子類中父類的同名的屬性被隱藏了
如果在子類中想繼續(xù)使用父類隱藏的屬性 那么要使用super關鍵字調(diào)用父類屬性
2.子類對父類同名方法的重新定義叫做方法的重寫
子類重寫父類方法之后 父類的方法就默認隱藏了
如果子類想繼續(xù)使用父類中被隱藏的同名方法 那么要使用super關鍵字調(diào)用

三.多態(tài)
一種事物可以有多種表現(xiàn)形態(tài)
父類作為方法參數(shù) 所有的子類對象都可以作為實參
父類作為方法的返回值 所有的子類對象都可以返回
子類父類相互轉(zhuǎn)換:
子類對象可以聲明成父類對象
子類擁父類的屬性和方法
父類不能聲明成子類對象
父類對象可以通過強制轉(zhuǎn)換聲明成子類對象 可以通過編譯 但是運行的時候會出現(xiàn) ClassCastException
當父類對象原本就是由子類對象聲明而成的 那么強制轉(zhuǎn)換回子類 就不會報錯
子類聲明成父類對象時 調(diào)用方法會執(zhí)行子類的方法
編譯時 認為是父類 只能調(diào)用到父類中聲明的方法
執(zhí)行時 認為是子類 占用子類內(nèi)存 執(zhí)行子類方法

轉(zhuǎn)自網(wǎng)絡,侵刪,想要了解更多可以點擊: