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);
}