Java 面向对象四大特性
Java 面向對象四大特性
1.抽象 ?2.封裝 ?3.繼承 ??4.多態
1.抽象。抽象就是將一些事物的共性和相似點抽離出來,并將這些屬性歸為一個類,簡單理解是:將需要解決的事情抽象成Java代碼。
2.封裝。封裝是為了隱藏內部實現細節,是保證軟件部件具有優良的模塊性的基礎。封裝的目標就是要實現軟件部件“高內聚,低耦合”,防止程序之間的相互依賴性帶來的變動影響。Java中private關鍵字是封裝一個重要的部分,因為private定義的變量或方法只能在內部使用,其他類不可直接使用,就好像一臺電腦中的元器件從表面看是不可見的,從而體現Java的封裝性。
3.繼承。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,并可以加入若干新的內容,或修改原來的方法(Override,重寫方法)使之更適合特殊的需要,這就是繼承。繼承是子類自動共享父類數據和方法的機制,這是類之間的一種關系,提高了軟件的可重用性和可擴展性。簡單理解是:一些類的共同特性抽取到一個基類,然后這些類通過繼承而獲得原有的特性,而基類沒有的特性,則可以在類中創建新的。
4.多態。多態是運行時刻接口匹配的對象相互替換的能力。指程序定義的引用變量所指向的具體類型和通過該引用變量發出的方法調用在編譯期并不確定,而是在程序運行期間才確定(稱之為動態綁定),即一個引用變量指向的是哪個類的實例對象,在編譯期間并不確定,在運行階段才能決定,因此,這樣就可以使得引用變量綁定到各種不同的類實現上,從而實現不同的行為。多態性增強了軟件的靈活性和擴展性。例如:
/** 動物類 */ public class Animal{//吃protected void eat(){}//發出聲音protected void voice(){}}貓類繼承動物類/**貓類 */ public class Cat extends Animal{protected void eat(){System.out.prinln("貓愛吃魚");}protected void voice(){System.out.println("喵喵喵");} }
/**狗類 */ public class Dog extends Animal{protected void eat(){System.out.prinln("狗愛吃骨頭");}protected void voice(){System.out.println("汪汪汪");} }
多態的呈現public static void main(String []args) {Animal ani=new Cat();ani.eat();ani = new Dog();ani.eat(); }
打印結果為:? 貓愛吃魚狗愛吃骨頭
上述的栗子中通過ani 引用重新指定對象,調用eat()方法,卻打印出來不同的結果,這就是多態。當然這只是簡單的栗子,更深入的理解需要大家在項目中不斷的應用思考。
我的個人網站:美好禮物屋??? 我的個人APP: 騰訊應用寶APP下載
總結
以上是生活随笔為你收集整理的Java 面向对象四大特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ValueAnimator API 介
- 下一篇: RxJava 2.x 入门