Java基礎之java的四大特性


上篇文章說了jdk的安裝和java環境的配置,這篇文章主要說下java的特性。

首相說下,編程語言分為面向過程和面向對象,而java就是一種面向對象的編程語言。

什么是面向過程編程呢?就是一流程為單位,注重最后的結果。比如小明要從鄭州去北京,他第一步就是要先買火車票,然后去火車站乘車,坐火車到北京。這就是面向過程編程,必須每一步都做到,才會有最后的結果。

這樣一來面向過程編程的缺點就很明顯了:1、不利於程序的維護   2、功能之間有很強的關聯性,就是說你每一次改動一步,可能就會涉及到好幾步的更改。

那么什么又是面向對象變成呢?就是把一個事物看做一個整體,從事物的屬性和功能兩方面進行描述

面向對象編程的特點就是:

1、面向對象的編程思想更貼近人的正常思維模式

2、面向對象的編程來源於生活服務於生活

3、面向對象的編程思想中肯定會用到面向過程的思想

4、面向對象的特征:抽象、封裝、繼承、多態

這就要來了解下什么是對象了。

任何一個具體的事物都是一個對象,在《java編程思想》中講到:萬事萬物皆對象

任何一個對象都是唯一的,即使兩個相近或者相似的事物都是兩個不同的對象,就像世界上找不到兩片相同的樹葉一樣,任何一個對象一旦創建就會唯一的存在。而且對象也不一定是一個切實存在的實物,任何一項法規、政策、虛擬物品等都是一個對象。

抽象      

就是對同一個事的共有的屬性(特征)和方法(功能/行為)進行抽取、歸納、總結。如:汽車都有輪子、發動機等這些就是汽車的屬性,汽車能跑、能載人載物等這些就是汽車的功能。這樣就可以把汽車的這些功能與屬性抽取出來寫在一個類中,供汽車這一類事物使用。

封裝  

在抽象中將屬性與方法寫在一個類中就是封裝,而封裝就是為了保證抽象出來的特征和方法的安全性,封裝就是包裝的過程,注意封裝不是絕對的封裝,如果其他程序要獲取已經封裝好的數據,就要通過程序指定的接口或方法才能獲取。

繼承

        特點:繼承要有一定的層次結構,還要具備一定的可傳遞性

     子類繼承父類的屬性和方法,但是私有屬性和構造方法除外

     子類除了擁有從父類繼承過來的屬性和方法外,子類還可以擁有屬於自己的屬性和方法

     在java中只支持單一繼承(也就說一個子類只能有一個父類,但一個父類可以有多個子類)

     判斷兩個類的繼承關系是否成立,可以通過“is-a”(是一個)開判斷

子類不能繼承父類的構造方法:父類的構造方法創建的是父類的對象,以為繼承要有一定的層次結構,而且要具備一定的額可傳遞性,如果子類繼成父類的構造方法就違反了這一條,所以子類不能繼承父類的構造方法。

如何實現繼承

 在java中通過extends關鍵字來實現繼承,語法

【訪問修飾符】  class   子類    extends  父類{   }

繼承的作用

提高代碼的重用性

一個源文件中可以包含多個類,但只能有一個類帶public,而且帶public訪問修飾符的類的類名要和源文件的文件名相同,main方法也要寫在帶public的類中。

當創建子類對象時,那么一定會先執行父類的構造方法創建父類對象,然后在調用子類的構造方法創建子類的對象。而且在創建子類的對象時無論是調用有參數還是無參數的構造方法,JVM都會默認的代用父類的無參數的構造方法創建父類的對象。

多態

多態就是指同一種事物在不同的情況下的多種表現形式

多態的表現形式有:方法重寫,方法重載,接口和接口的繼承,類和類的繼承

方法的重載:在同一個類中,有多個方法名相同,但參數列表不同的方法,這就是方法的重載,參數列表的不同包括:參數個數,類型,順序的不同。普通方法和構造方法都可重載,方法重載會根據傳遞的參數來決定調用哪個方法,返回值不同,其他都相同的情況是構不成方法的重載

方法的重寫:發生在子類繼承父類的關系中,父類中的方法被子類繼承,方法名,返回值類型,參數完全一樣,但是方法體不一樣那么說明父類中的該方法被子類重寫了。

目的:當父類中方法,無法滿足子類的需求時,那么子類可以對父類的方法進行擴展

注意:方法重寫子類的訪問修飾符的范圍不能縮小


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM