我有关于继承类和List
类型的问题。想象一下,您已经创建了一个名为Polygon
的类,其中包含一些方法(计算周长,面积等)和一个名为Triangle
的类,它扩展了Polygon
。同时,在您的Main类中,您已创建了List
类型,可以保存Polygon
个对象。一切都属于同一个包。
我怀疑它是下一个:如果我从类型Triangle
创建一个对象,我可以将它保存到最后一个List
吗?
示例:
类多边形
public class Polygon{
//All his methods
}
班级三角
public class Triangle extends Polygon{
//All his methods
}
主要类
public static void main (String[] args){
List<Polygon> listPolygon = new ArrayList <Polygon> ();
Triangle example = new Triangle();
listPolygon.add(example);
}
非常感谢你,抱歉我的英语不好。我现在正在练习很多。
答案 0 :(得分:2)
我不确定你的问题。
如果你的问题是,你可以这样做:
List<Polygon> polygonList = new ArrayList<Polygon>();
Triangle triangle = new Triangle();
polygonList.add(triangle);
答案是是,因为Triangle
是Polygon
。
如果问题是,你可以这样做:
List<Triangle> triangleList = new ArrayList<Triangle>();
List<Polygon> polygonList = triangleList;
答案是否,因为List<Triangle>
不是List<Polygon>
。有关详细信息,请参阅this question。
如果您使用的是IDE,例如eclipse或IntelliJ,您应该快速找到您可以做什么或不能做什么,因为您会收到有用的错误消息。