java面試題:請問這段代碼最後打印出來的是什麼?

編程語言 技術 聖故名 2017-08-02

public class Test{

private static int i=1;

public int getNext(){

return i++;

}

public static void main(String [] args){

Test test=new Test();

Test testObject=new Test();

test.getNext();

testObject.getNext();

System.out.println(testObject.getNext());

}

}

答案文章結尾給出

該題主要考察的是static屬性和i++操作。

因為i是static的,是類屬性,所以不管有多少對象,都共用的一個變量。

這裡getNext()方法被調用了三次,所以進行了三次i++操作。

return i++, 先返回i,然後i+1;

第一次調用getNext()方法時,返回的是1,但此時i=2;

第二次調用 getNext()方法時,返回的是2,但此時i=3;

第三次調用 getNext()方法時,返回的是3,但此時i=4;

所以這裡結果為3

java面試題:請問這段代碼最後打印出來的是什麼?

相關推薦

推薦中...