看以下代码有一个抽象类...
它有一个方法,方法里是调用抽象方法的 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();出现空指针异常,这个当然会出现。但是我想让它去调用子类中的实现,不知道谁教教我;谢谢了

解决方案 »

  1.   


    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指针,是不是不是这个方法报空指针啊?
      

  2.   

    什么叫当然会出现? 出现空指针肯定是子类的方法实现的有问题,空指针是子类的analysisPage方法抛出的
      

  3.   

    Map<String,HashMap<String,String>> maps = null;
    这里map是null
    maps.put
    这里又调用它,当然会出项空指针了