以下类型不匹配是我的代码: -与多态性的ArrayList
ArrayList<animal> myanimals = new ArrayList<animal>();
dog adog = new dog();
myanimals.add(adog);
System.out.println("" + myanimals.get(0).getClass());
dog newdog = myanimals.get(0);
我已经创建了一个的ArrayList
动物(超)为myanimals
和存储在狗(子类)为第一要素。然后myanimals.get(0)
返回一个狗型对象。当这种狗类型的对象是由在声明dog newdog = myanimals.get(0)
狗类参考书中提到,它显示了一个错误说:
类型不匹配,不能从动物转换为狗。
为什么会发生这种情况?
欢迎来到StackOverflow。请将代码和错误发布为文字,而不是图片 –
感谢您的编辑建议。 @Shashwat –