意義

2012-11-06 108 views
1

A.java的對象和類的關係:意義

public class A { 
    public static StartActivity startActivity; 
} 

B.java:

public class StartActivity extends Activity 
    public void onCreate(Bundle savedInstanceState) { 
     A.activity = this; 
    } 
} 

從上面的2個java文件,我想問一下是什麼a.activity = this;意思? 這是否意味着要創建一個新的活動實例?

+0

你確定你的'** public ** class StartActivity'在B.java裏面嗎?同樣在A類中,你聲明瞭'startActivity',但是在B中你使用'A.activity'。 – Pshemo

+0

Java是大小寫敏感的。活動和活動是java –

+0

+1中的兩個不同名稱,用於downvote的組合。似乎對我來說合法.. –

回答

2

這是否意味着要創建一個新的活動實例?

編號活動是一個字段,而不是一個類,你不能創建一個變量的「實例」,只能是類。所有這些代碼正在做的是將一個已經存在的對象(當前b對象)分配給一個靜態字段,活動,就這些。

編輯
修正,我想活動也是一類,因爲你有兩種類型,並給出了相同的名稱,活動的變量?你的命名是非標準的,這會讓問題和你的問題大打折扣。我建議你改變你的問題,制定命名標準並且不要混淆。包括類,接口和枚舉在內的所有類型都應以大寫字母開頭,而所有變量以小寫字母開頭。

編輯2
OK,審查你的編輯問題的最新的代碼後,我們可以看到,有一個靜態StartActivity場,也被稱爲靜態變量,稱爲活動。在B類的onCreate(...)方法中,它將對當前B對象本身的引用this分配給A的活動字段。因此,如果將活動分配給先前的StartActivity對象,那麼如果調用其方法onCreate(...),則該分配現在已更改爲當前B對象。

+0

你會介意解釋這個原因嗎? (將已經存在的對象分配給靜態字段) – user782104

+0

@ user782104:什麼原因?什麼讓你困惑? –

+0

對不起,作爲java的newibe,我不明白靜態字段的含義 – user782104