读书人

java 非静态类中 宣言该类的静态类实例

发布时间: 2012-12-29 10:28:09 作者: rapoo

java 非静态类中 声明该类的静态类实例 其他类中 为什么能够不实例就能调用 该类的非静态方法
public class FirstGroup extends ActivityGroup{
public static FirstGroup group;
private ArrayList<View> history;

public void launch(String id, Intent intent){
addHistory(setContent(id,intent));
}

private void addHistory(View view)
{
history.add(view);
}

}

另一个类中
public class ListActivity extends BaseActivity{

mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
FirstGroup.group.launch("DetailActivity", DetailActivity.launch
(ListActivity.this, temp));
}
});

}

怎么可以直接这样调用呢FirstGroup.group.launch() 这样可以吗?
[解决办法]
你要知道static的变量或方法都是类加载后就可以用的,不必调用构造函数生成对象,此时history是空的

你这样写,程序走到访问history那里会空指针

读书人网 >Android

热点推荐