首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

java 非静态类中 宣言该类的静态类实例 其他类中 为什么能够不实例就能调用 该类的非静态方法

2012-12-29 
java 非静态类中 声明该类的静态类实例 其他类中 为什么能够不实例就能调用 该类的非静态方法publicclass

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那里会空指针

热点排行