【牛客網 刷刷刷題回顧筆記】

1.

在jdk1.5之後,下列 java 程序輸出結果爲______。

1

2

3

4

int i=0;

Integer j = new Integer(0);

System.out.println(i==j);

System.out.println(j.equals(i));

**自動拆箱考題
 * 1.基本類型和基本封裝類型
 *
 * Created by zengjx on 2019/2/17.
 */

public class NIuke {

    public   void  Test(){
        int   i=0;//基本數據類型
        Integer   j=new Integer(0);//
        System.out.println(i==j);//true//     基本型封裝型將會自動拆箱變爲基本型後再進行比較
        System.out.println(j.equals(i));//true 
    }
}

評論精華: 

1、基本型和基本型封裝型進行“==”運算符的比較,基本型封裝型將會自動拆箱變爲基本型後再進行比較,因此Integer(0)會自動拆箱爲int類型再進行比較,顯然返回true;
2、兩個Integer類型進行“==”比較,如果其值在-128至127,那麼返回true,否則返回false, 這跟Integer.valueOf()的緩衝對象有關,這裏不進行贅述。
3、兩個基本型的封裝型進行equals()比較,首先equals()會比較類型,如果類型相同,則繼續比較值,如果值也相同,返回true
4、基本型封裝類型調用equals(),但是參數是基本類型,這時候,先會進行自動裝箱,基本型轉換爲其封裝類型,再進行3中的比較。

int a=257;
Integer b=257;
Integer c=257;
Integer b2=57;
Integer c2=57;
System.out.println(a==b);
//System.out.println(a.equals(b));  編譯出錯,基本型不能調用equals()
System.out.println(b.equals(257.0));
System.out.println(b==c);
System.out.println(b2==c2);

因此上面的代碼的結果因此爲 true, false, false, true 

 

2.  考點  創建派生類執行順序: 

鏈接:https://www.nowcoder.com/questionTerminal/6f126682f29544708bb73a08e4e2bd0a
來源:牛客網

類的初始化過程也就是方法執行的過程

父類的靜態變量

-父類的靜態代碼塊

子類的靜態變量-子類的靜態代碼塊 父類的非靜態變量-父類的非靜態代碼塊-父類的構造函數 子類的非靜態變量-子類的非靜態代碼塊-子類的構造函數

規律就是 父類先於子類 靜態的先於非靜態的 變量先於代碼塊

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