Java基礎知識複習筆記(一)

1、Java用引用操作對象,而C和C++裏用指針來操縱對象。

2、創建對象的引用,通常用new操作符來實現與其相關聯的一個新對象。

3、Java中創建一個數組對象時,實際上是創建了一個引用數組,並且每個引用都會自動被初始化爲一個特定值null或者0;

4、若類的某個成員是基本數據類型,即使沒有進行初始化,Java也會確保它會獲得一個默認值,以防止產生程序錯誤;但對於“局部”變量,即非某個類的字段,則不會被獲得一個默認值;

5、static修飾的靜態變量/方法可通過類的對象引用,也通過類直接引用;

6、Java要求public類名和文件名必須相同;

7、Java有兩種註釋風格:/*……*/和//……;

    註釋文檔:/**……*/,和部分標籤:@see、@version、@author、@param、@return、@throws等。

8、Java編程風格:類名的首字母大寫,多個單詞構成則直接並在一起(不用下劃線分隔);

     除了類名,幾乎其他所有內容,如變量、方法、對象引用名稱等,都遵循“駝峯式命令”,第一個字母小寫,其他單詞首字母大寫。

9、Java賦值運算符:對於基本數據類型使用a=b, 複製a的是實際的數值,而並非指向一個對象的引用,即a和b是獨立的,修改a不會影響b;對一個對象或數組進行操作a=b時,則複製的對象的引用,a和b都指向同一個具體對象,修改a,b也會被修改。

10、Java按位操作符,如果兩個輸入位都是1,則按位“與”操作符(&)生成一個輸出位1;否則輸出位都是0。

       如果兩個輸入位只要有一個是1,則按位“或”操作符(|)生成一個輸出位1,只有兩個輸入位都是0,輸出位纔是0;

       如果輸入位的某一個是1,但並不全是1,那麼按位“異或”操作(^)生成一個輸出位1;異或:相同爲0,不同爲1

       按位“非”(~),也稱爲取反操作符,是一元操作符,生成與輸入位相反的值,如輸入0,則輸出1;若輸入1,則輸出0。

11、Java沒有sizeof;

12、break用與強制退出循環或swith..case,不執行循環中剩餘的語句或剩餘case語句,注意而不只是跳出一層{};continue則是停止當前循環,返回循環開始處,開始下一次迭代。

13、Java用構造器確保初始化,並且對象的“初始化”和“創建”捆綁在一起,兩者不能分離的。構造器的特徵:

  ①與類名完全相同;②沒有返回值;③如果運行用戶通過new創建對象必須使用public修飾。

14、方法的重載,允許方法名相同而形式參數不同。區分重載方法:

  ①參數個數不同;②參數類型不同;③參數類型的順序不同。

注:方法的返回值不能區分重載方法。

15、Java類中沒有構造器,編譯器會自動創建一個默認無參構造器;但如果已經定義了一個構造器,編譯器就不會自動創建默認構造器了。

16、this關鍵字只能用在方法內部使用,表示對“調用方法的那個對象”的引用;在構造器中可以使用this調用其他構造器;但注意:static方法沒有this,在static方法的內部不能調用非靜態方法,但在非靜態方法中就可以調用靜態方法。

17、Java沒有類似C++的析構函數用來對對象的銷燬;Java是使用垃圾回收器負責回收無用對象佔據的內存資源;而運行在類中定義名爲finalize()的方法,這個方法也只是建議JVM銷燬該對象,不一定會被銷燬;垃圾回收器會定期進行完整的清理工作,採用“自適應”技術,即“自適應、分代的、停止-複製、標記-清掃”式垃圾回收器。

18、所有類都使用Object做爲父類,Object的方法有:hashcode()、toString()、cloen()、getClass()、finalize()、equals()wait()、wait(long timeout)、wait(long timeout,int nanos)、notify()、notifyAll()

19、無論創建多少個對象,靜態數據都只佔用一份存儲區域。如果靜態數據是基本類型,且沒有進行初始化,那麼它就會獲得基本類型的標準初值;如果他是一個對象引用,那麼他的默認初始化值就是null。

20、靜態初始化只有在必要時刻纔會進行的,並且初始化是在對象創建或第一次訪問靜態數據時,初始化後便不會再次被初始化了。

21、Java初始化順序是:先靜態對象(如果它們尚未因前面的對象創建過程而被初始化),而後是“非靜態”對象。並且對象定義的先後順序決定了初始化的順序,即使對象定義散佈與方法定義之間,它們仍舊會在任何方法(包括構造方法)被調用之前就進行初始化。

22、“靜態塊”經執行一次:當首次生成這個類的一個對象時,或者首次訪問屬於那個類的靜態數據成員時(即便從未生成過那個類的對象)。

如:

static int i;

static{

i =47;

}

23、數組定義有int[] a和int a[]兩種方式,建議使用int[] a,它表明類型是“一個int型數組”。

       數組的創建是在運行時刻進行的;數字元素中的基本數據類型會自動初始化爲空值。(對於數字和字符,就是0;對於布爾類型,是false)

24、Java枚舉類型聲明用enum關鍵字,按照命名慣例它們都用大寫字母表示,實際上枚舉類型的實例是常量。


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