十一、面向對象的特徵有哪些方面java
1.抽象: 抽象就是忽略一個主題中與當前目標無關的那些方面, 以便更充分地注意與當前目標有關的方面。 抽象並不打算了解所有問題,而只是選擇其中的一部分, 暫時不用部分細節。 抽象包括兩個方面, 一是過程抽象, 二是數據抽象。 2.繼承: 繼承是一種聯結類的層次模型, 而且容許和鼓勵類的重用, 它提供了一種明確表述共性的方法。 對象的一個新類能夠從現有的類中派生, 這個過程稱爲類繼承。 新類繼承了原始類的特性, 新類稱爲原始類的派生類(子類), 而原始類稱爲新類的基類(父類)。 派生類能夠從它的基類那裏繼承方法和實例變量, 而且類能夠修改或增長新的方法使之更適合特殊的須要。 3.封裝: 封裝是把過程和數據包圍起來, 對數據的訪問只能經過已定義的界面。 面向對象計算始於這個基本概念, 即現實世界能夠被描繪成一系列徹底自治、 封裝的對象, 這些對象經過一個受保護的接口訪問其餘對象。 4. 多態性: 多態性是指容許不一樣類的對象對同一消息做出響應。 多態性包括參數化多態性和包含多態性。 多態性語言具備靈活、抽象、行爲共享、代碼共享的優點, 很好的解決了應用程序函數同名問題。
12.java 建立對象的幾種方式後端
採用new 經過反射 採用clone 經過序列化機制 前2者都須要顯式地調用構造方法。 形成耦合性最高的剛好是第一種, 所以你發現不管什麼框架, 只要涉及到解耦必先減小new的使用。
13.修飾符public,private,protected,以及不寫時的區別性能優化
修飾符 當前類 同一package 子孫類 其餘package public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × × 不寫時默認爲friendly/default架構
friendly權限是java的默認權限,也稱做包(package)訪問權限併發
只要不加private、public、protect的框架
就是friendly訪問權限,分佈式
全部的成員僅限同一個包內的成員訪問ide
如何能系統學習,有沒有免費資料?函數
爲了讓學習變得輕鬆、高效,今天給你們免費分享一線互聯網架構師傳授的Java架構學習資源。幫助你們在成爲架構師的道路上披荊斬棘。微服務
有(Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化、分佈式架構)等這些成爲架構師必備的內容! 加 Java後端技術羣:698581634 進羣便可免費獲取!
14.String s = new String("xyz");建立了幾個String Object
兩個,一個字符對象,一個字符對象引用對象
15.Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)==12; Math.round(-11.5)==-11; round方法返回與參數最接近的長整數, 參數加1/2後求其floor
16.Java有沒有goto?
java中的保留字,如今沒有在java中使用
17.Overload和Override的區別。Overloaded的方法是否能夠改變返回值的類型
方法的重寫Overriding和重載Overloading是Java多態性的不一樣表現。 重寫Overriding是父類與子類之間多態性的一種表現, 重載Overloading是一個類中多態性的一種表現。 若是在子類中定義某方法與其父類有相同的名稱和參數, 咱們說該方法被重寫 (Overriding)。 子類的對象使用這個方法時, 將調用子類中的定義, 對它而言, 父類中的定義如同被"屏蔽"了。 若是在一個類中定義了多個同名的方法, 它們或有不一樣的參數個數或有不一樣的參數類型, 則稱爲方法的重載(Overloading)。 Overloaded的方法是能夠改變返回值的類型
18.abstract class和interface有什麼區別
聲明方法的存在而不去實現它的類被叫作抽象類(abstract class),
它用於要建立一個體現某些基本行爲的類,
併爲該類聲明方法,
但不能在該類中實現該類的狀況。
不能建立abstract 類的實例。
然而能夠建立一個變量,
其類型是一個抽象類,
並讓它指向具體子類的一個實例。
不能有抽象構造函數或抽象靜態方法。
Abstract 類的子類爲它們父類中的
全部抽象方法提供實現,
不然它們也是抽象類爲。
取而代之,在子類中實現該方法。
知道其行爲的其它類能夠在類中實現這些方法
接口(interface)是抽象類的變體。
在接口中,全部方法都是抽象的。
多繼承性可經過實現這樣的接口而得到。
接口中的全部方法都是抽象的,
沒有一個有程序體。
接口只能夠定義static final成員變量。
接口的實現與子類類似,
除了該實現類不能從接口定義中繼承行爲。
當類實現特殊接口時,
它定義(即將程序體給予)全部這種接口的方法。
而後,它能夠在實現了該接口的類的
任何對象上調用接口的方法。
因爲有抽象類,
它容許使用接口名做爲引用變量的類型。
一般的動態聯編將生效。
引用能夠轉換到接口類型或從接口類型轉換,
instanceof 運算符能夠用來
決定某對象的類是否實現了接口
19.接口是否可繼承接口?
接口能夠繼承接口。 抽象類能夠實現(implements)接口, 抽象類是否可繼承實體類,但 前提是實體類必須有明確的構造函數
20.swtich是否能做用在byte上,是否能做用在long上,是否能做用在String上
swtich()裏面必須是int和enum--即枚舉類型。 short、 char 或者 byte他會自動轉換爲int的。。 long不能自動轉換爲int.. 由於long比int範圍大..可能會丟失精度.. 在java的1.7以後的jdk版本, java中的switch裏面表達式的類型能夠是string類型, 以前是不可使用的