2015-04-29 92 views
-6

我已經在FourActivity中創建了一個公共變量,並在FinalActivity類中訪問它,但變量的值總是顯示0.我一直在FourActivity類中創建一個返回整數的getRandomNumber函數。在java中使用公共變量

public int i; 
i=getRandomNumber(); // 
Now i am accessing variable i in FinalActivity Class through this way 
FourActivity fourActivity=new FourActivity(); 
int randomNumber=fourActivity.i; 
Toast.makeText(FinalActivity.this,"Random Number" +randomNumber ,Toast.LENGTH_SHORT).show(); 
+2

在問複製品之前,找出你已經打開的問題(http://stackoverflow.com/questions/29940444/null-pointer-exeception-handler)。 – Simas

回答

3

i也不是一成不變的,因此當你寫:

FourActivity fourActivity=new FourActivity(); 
int randomNumber=fourActivity.i; 

你從剛剛創建的新FourActivity實例得到i未初始化值。

i=getRandomNumber();更新了FourActivity的差異點。

+0

我是新的Java可以告訴我如何和初始化它? – user3537259

+0

@ user3537259如果您將'public int i;'更改爲'static static int i;',它將按照您的預期行事(FourActivity的所有實例將具有相同的i值,您將可以通過簡單地寫'FourActivity.i'),雖然這不是一個好習慣。 – Eran