最有價值的java 面試題<1>

1.面向對象的特徵有哪些方面?

    <1>抽象:抽象是將一類對象的共同特徵總結出來構造類的過程,包括數據抽象和行爲抽象兩個方面.

                   抽象只關注對象有哪些行爲和屬性,並不關注這些行爲的細節是什麼.

    <2>繼承:繼承是從已有類得到繼承信息創建新類的過程.提供繼承信息的類被稱之爲父類(超類,基類)

                   得到繼承信息的類被稱之爲子類(派生類)繼承讓變化中的軟件系統有了一定的延續性,同時

                   繼承也是封裝程序中可變因素的重要手段

     <3>封裝:通常認爲封裝是吧數據和操數據的方法綁定起來,對數據的訪問只能通過已定義的接口.面向

                    對象的本質就是將現實世界描繪成一系列完全自治,封閉的對象.我們在類中編寫的方法就是

                    對實現細節的一種封裝;我們編寫一個類就是對數據和數據操作的封裝.可以說,封裝就是隱藏

                   一切可隱藏的東西,只對外界提供最簡單的編程接口.

      <4>多態性:多態性是指允許不同子類型的對象對同一消息做出不同的響應.簡單的說就是用同樣的對象

                        引用調用同樣的方法但是做了不同的事情.多態性分爲編譯時的多態性和運行時的多態性.如

                        果將對象的方法視爲對象向外界提供的服務.那麼運行時的多態性可以解釋爲:當a系統訪問b

                        系統提供的服務時,b系統有多中提供服務的方式,但一切對於a系統同來說都是透明的,

                 方法重載overload實現的是編譯時的多態性(也稱爲前綁定)

                 方法重寫override實現的是運行時的多態性(也稱爲後綁定),運行時的多態性是面向對象最精髓的東西,

                 要實現多態需要做兩件事情:

                         1.方法重寫(子類繼承父類並重寫父類中已有的或抽象的方法)

                          2.對象造型(用父類型引用子類型對象,這樣同樣的引用調用同樣的方法就會根據子類對象的不同

                                                而表現出不同的行爲)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章