我是初學者,最近看到了下面的代碼:
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<Activity>();
public static void addActivity(Activity activity) {
activities.add(activity);
}
public static void removeActivity(Activity activity) {
activities.remove(activity);
}
}
另一個class:
public class BaseActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
ActivityCollector.removeActivity(this);
}
想請問一下,ActivityCollector不是類名嗎?可以被直接引用嗎?不是應該先定義一個對象,然後引用對象嗎?像這樣: ActivityCollector A; A.addActivity(this);
謝謝解答!
ActivityCollector是類名,可以直接引用。不過只有靜態的方法和靜態的成員變量才可以直接使用類名直接引用。靜態的成員變量或者方法可以直接使用類名來引用,
也可以使用“對象.變量(或方法)”。如果是非靜態成員變量或者方法,就必須先創建對象,然後根據對象來進行引用。這裡說的靜態成員就是使用static修飾符進行修飾的。