Java SE基礎回顧 java
1.循環語句中的break是終止所有循環,跳出循環體;而continue是終止本次循環,跳執行下一循環編程
2.return語句有兩個做用:返回值;結束方法的運行數組
3.對於java中面向對象的理解:以類的方式組織代碼,以對象的方式封裝數據。類就至關於模板,而對象就是依據模板所創做出來的。安全
4.局部變量須要初始化才能用,而全局變量系統會自動爲其初始化。類=屬性+方法
5.java中內存分析:(1)棧:存放局部變量(自動分配連續空間,後勁先出) (2)堆:防止new出來的對象(不連續) (3)方法區:(也是堆)存放的是類的代碼信息、Static變量、常量池(字符串常量) 編程語言
6.java中對於對象的操做實際是對對象地址的操做函數
7.構造器有稱構造方法,其名稱必須與相應類名一致。構造器也可重載 。重載有兩同三不一樣原則,即同一個類中,同一個方法名;參數列表(類型、個數、順序)不一樣this
只有形參的名稱不一樣,不構成重載。返回值不一樣也不構成重載對象
8.static關鍵字修飾的方法爲靜態方法,調用靜態方法不須要建立對象,只須要用類名.方法名便可調用該靜態方法。在普通方法中能夠調用靜態的屬性跟方法,可是在靜態的方法中不能調用非靜態的屬性。this是指調用當前方法的對象繼承
9.Java中類只有單繼承,java中的多繼承經過接口來實現的接口
10.類之間存在6種關係:繼承、實現、依賴、關聯、聚合、組成
11.繼承:泛化父類維護共性,細化子類添加特性
12.動態綁定:在運行時,JVM可以根據對象的類型綁定具體的方法。
13.動態方法調度:若是一種編程語言,想實現動態綁定,就必須具有某種機制,以便可以判斷對象的類型,從而調用恰當的方法,這種機制稱爲動態方法調度。動態方法調度是實現Java運行時多態的基礎
14.equals()方法比較的是兩個變量引用的對象的內容是否相同;"=="比較的是兩個變量是否引用同一個對象,側重於空間是否相同,即比較的是兩個對象在內存中的地址
15.關於字符串內容:當經過字符串常量定義方式(即String s=「abcd」)定義String類型變量時,系統會首先從字符串池(JVM維護着一個字符串緩衝區,叫作字符串池 )中查找相同的String對象,若是查到則使變量指向池中已有的對象,不然新建對象並放入池中。所以經過字符串常量方式定義的String變量,若是內容相同,則必然指向同一個對象。即String s=「abcd 」; String m="abcd";則兩者指向同一個對象,可是若是用new String(「abcd」)方式定義的String對象,不會放入池中,每次都會從新構造新的對象。
16.抽象類:只定義類的「骨架」,對其共同行爲提供規範,可是並不實現,而是將具體實現放到子類中去完成。這種「骨架類」叫作抽象類,用abstract關鍵字修飾
17.抽象類的3個特色:(1)抽象方法沒有方法體,即未實現(abstract放在class前,一個抽象類能夠含有多個抽象方法,也能夠含有已經實現的方法)
(2)不能實例化抽象類,即不能爲抽象類分配具體的空間 (3)一個類在繼承抽象類時,若是沒有實現父類全部的抽象方法,那麼該類也必須定義爲抽象類。
18.接口:引入接口,是爲了解決類之間單一繼承的缺陷。接口是抽象類的進一步強化,沒有方法體,不能直接實例化。對接口的引用至關於接口這個父類去調用子類的方法,即父類引用指向子類對象。一個類能夠實現多個接口,從而彌補java單一繼承的缺陷。一個類實現接口時,必修實現該接口的定義的全部方法,除非該類定義爲抽象類。
19.內部類有:成員內部類、局部內部類、靜態內部類、匿名內部類
20.java中的異常分爲:java.lang.error與java.lang.Exception
異常是指程序在運行期間可能出現的錯誤。異常分爲非檢查型異常(RuntimeException及其子類)、檢查型異常
21.異常處理機制:(1)捕獲異常 (2)聲明拋出異常
22.安排catch語句的順序時,首先應該捕獲最特殊的異常,而後在通常化,即先catch子類,而後在catch父類。前後順序不符,會發生錯誤
無論有無異常發生,必須執行的代碼finally關鍵字修飾,且finally不能單獨使用,必須和try結合使用。try-finally、try-catch-finally
23.throw語句是編寫在方法中,而throws語句使用在方法簽名以後。同一方法中,throws拋出的類型範圍比throw拋出的對象類型範圍大或者相同
24.泛型:是爲了解決強制類型轉換時,在編譯時編譯器可能不提示錯誤,但在運行時會出現異常,這一安全隱患。
25.使用泛型的好處:(1)在編譯期間檢查類型,捕捉類型不匹配錯誤 (2)全部的強制轉換都是自動和隱式的,提升代碼重用率。
26.泛型的本質:是參數化類型,即所操做的數據類型被指定爲一個參數,能夠用在類、接口、方法的建立中。
27.數組容器(遇到容器必須重點學)
格式1 int[] array = new int[3];//須要一個容器,可是不明確容器的具體數據
格式2 int[] array = new int[]{0,1,3,5,89};//初始化容器,存儲已知的數據 或 int[] array = {89,20,2,45,9};
對於數組的操做最基本的就是存、取。核心思想是:對角標的操做,數組中最後一個數的角標爲array.length-1
28.面向對象:先找問題的對象,若是沒有就去創造它。有對象找對象,沒對象造對象,緊接着維護對象之間的關係。類與對象之間的關係:類是事物的描述。對象:該類的實例,在java中經過new來實現。堆中封裝數據,對象也是爲了封裝數據。當調用方法時,方法要進棧,這時若是方法中定義了局部變量,如a=10;在堆中也定義了a=4;這時會優先選棧中的局部變量;若是棧中沒有a=10,則去堆中調用a=4。
29.當對象對方法僅進行一次調用時,就能夠簡化成匿名對象
30.封裝:Encapsulation隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。私有的private的東西只能在本類中有效。在方法中對給定的數據進行邏輯判(封裝的做用)
31.構造函數:構建對象時調用的函數 ,做用:能夠給對象進行初始化 。建立對象都必需要經過構造函數初始化
32.通常函數與構造函數的區別:構造函數:對象建立時就會調用與之相應的構造函數,對對象進行初始化。會調用,且只調用一次(僅對於一個對象來講)
通常函數:對象建立後,須要函數功能時才調用。對象建立後,能夠被調用屢次。
33.何時定義構造函數:在描述事物時,該事物一存在就具有的一些內容,這些內容就都定義在構造函數中。
一個類中能夠有多個構造函數,分別對不一樣的對象進行不一樣的初始化。多個構造函數在同一個類中出現,只有一種方式——重載