java第三章動手動腦
阿新 • • 發佈:2017-10-19
它的 創建對象 靜態初始化塊 設定 代碼 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第三章動手動腦