抽象类中的方法怎么去调用子类实现的方法呢?

小瑞草 2010-12-03 06:19:00
看以下代码

有一个抽象类...
它有一个方法,方法里是调用抽象方法的

public void robotStart(){
if(this.getMap().size() > 0){
String url,code;
Map<String,HashMap<String,String>> maps = null;
Iterator it = this.getMap().keySet().iterator();
while(it.hasNext()){
url = (String)it.next();
code = this.getMap().get(url);
//analysisPage(code) 方法就是抽象方法
maps.put(url, analysisPage(code));

}
}
}

//抽象方法
public abstract HashMap<String,String> analysisPage(String htmlCode);


然而子类实现了 analysisPage(code)方法!

我建立一个测试类;
父类 rebot = new 子类();
然后执行 rebot.robotStart();

出现空指针异常,这个当然会出现。

但是我想让它去调用子类中的实现,不知道谁教教我;谢谢了
...全文
1289 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luo6899596 2011-04-14
  • 打赏
  • 举报
回复
看3楼
小瑞草 2010-12-03
  • 打赏
  • 举报
回复
3楼,正解;我太糊涂了;给你30分
1楼,谢谢你;我给你10分了
djvfe 2010-12-03
  • 打赏
  • 举报
回复
子类重写这个方法就可以了吧
islandrabbit 2010-12-03
  • 打赏
  • 举报
回复
Map<String,HashMap<String,String>> maps = null;
这里map是null
maps.put
这里又调用它,当然会出项空指针了
houjin_cn 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 jekkihun 的回复:]
出现空指针异常,这个当然会出现。
[/Quote]
什么叫当然会出现? 出现空指针肯定是子类的方法实现的有问题,空指针是子类的analysisPage方法抛出的
caofaping 2010-12-03
  • 打赏
  • 举报
回复

public class testGUI {

public static void main(String[] args) {
A a = new B();
a.get();
}

}

class B extends A {
public void print() {
System.out.println("b");
}
}

abstract class A {
public void get() {
print();
}

public abstract void print();
}



我测试怎么没出现Null指针,是不是不是这个方法报空指针啊?

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧