1. 程式人生 > >java第三章動手動腦

java第三章動手動腦

它的 創建對象 靜態初始化塊 設定 代碼 logs 手動 調用 靜態方法

動手動腦

1.

(1)int value=100;

(2)MyClass obj = new MyClass();

這兩種定義方式一樣嗎?

答:定義方式相同,其中(1)是(2)的簡化寫法。

2.

技術分享

結果為false,原因:比較對象是否相同時,比較的是對象指向的內存地址,如果要比較對象是否相同,應對對象的各個變量進行比較。

3.

技術分享

請總結一下,這個方法有哪些“與眾不同之處:

不同之處:

這個方法是一個構造方法,所以沒有返回值,而且其方法名與類名相同。

當創建一個對象時,它的構造方法會被自動調用。

如果類沒有定義構造函數,Java編譯器在編譯時會自動給它提供一個沒有參數的“默認構造方法”。

4.

技術分享

以下代碼為何無法通過編譯?哪兒出錯了?

答:當你自己定義含參構造函數時,系統將不會自動生成無參構造函數,就會報錯。

5.

如果一個類中既有初始化塊,又有構造方法,同時還設定了字段的初始值,誰說了算?

在創建對象時,不進行賦值,則按照構造方法賦值;當進行賦值時,則按照賦值後的值來計算。

6.

靜態初始化塊的執行順序:

(1)先執行靜態初始化塊,再執行普通方法。

(2)創建子類型的對象時,也會導致父類型的靜態初始化塊的執行。

7.

如何在靜態方法中訪問類的實例成員?

答:利用參數進行傳參,調用實例。

8.

技術分享

答:Integer類裝包實在-2^8-1~2^8之間,也就是說在-127~128之間,如果進行比較,則可以返回真值,如果數值超出範圍,這無法比較。

java第三章動手動腦