黑马程序员技术交流社区

标题: 抽象类的引用 [打印本页]

作者: 280270738    时间: 2013-6-24 08:57
标题: 抽象类的引用
本帖最后由 Super_Class 于 2013-6-24 18:23 编辑

Shap [] s =new Shap[3];Shap是一个抽象类。谁能给我解释下为什么抽象类能指向一个数组?
作者: 薛淑凯    时间: 2013-6-24 11:18
就是一个类类型的数组吧,它虽然不能存放该抽象类的对象,但可以存放一些继承该抽象类并实现了抽象方法的类的对象。
作者: 杨增坤    时间: 2013-6-24 15:21
抽象类是不被实例化的,但是为什么可以定义抽象类数组呢,因为抽象类数组只是数组中的一种类型
类和int ,String是一样的,可以看做是一种类型,而抽象类数组中的元素存放的是继承该抽象类的类(该类不是抽象类)的对象,
希望对你有帮助。
public abstract class sh {
      public String h="hello";
}

public class aa extends sh {
}

public class text {
public static void main(String[] args) {
  aa ab=new aa();
        aa ab1=new aa();
  sh []a=new sh[]{ab,ab1};
  for(int i=0;i<a.length;i++){
   System.out.println(a[i].h);
  }
            
}
}
结果:
hello
hello

作者: Super_Class    时间: 2013-6-24 18:23
集合就是为了解决这个问题。集合只能存储对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2