为了账号安全,请及时绑定邮箱和手机立即绑定

泛型集合可以添加泛型的子类型的对象实例意义在哪?我在子类中新增加了一个属性,然后赋值,再添加到list中是没有报错,但结果不显示我新增的属性是为什么?

public class ChildCourses extends Courses {

public String author;

public ChildCourses(String author,String id, String name){

this.author=author;

this.id=id;

this.name=name;

}

}

在类TestChild中:

public void testChild(){

ChildCourses clr=new ChildCourses("辛夷坞","3","在子类型中增加属性");

courses.add(clr);

}

下图是运行结果

http://img1.sycdn.imooc.com//58ea37d70001362201740145.jpg

正在回答

1 回答

泛型集合添加泛型的子类型的对象实例实际上是父类对子类的引用,而子类中的非抽象方法不能被父类引用

0 回复 有任何疑惑可以回复我~
#1

ConyZhang

不明白
2018-08-23 回复 有任何疑惑可以回复我~
#2

慕沐9553970 回复 ConyZhang

你是不是在List<Course>泛型规定,应该改为List<ChildCourses>这样呢
2019-03-14 回复 有任何疑惑可以回复我~
#3

慕沐9553970 回复 ConyZhang

可以的,你的代代码有问题的
2019-03-14 回复 有任何疑惑可以回复我~
#4

慕沐9553970 回复 慕沐9553970

TestChild类中代码有问题
2019-03-14 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

泛型集合可以添加泛型的子类型的对象实例意义在哪?我在子类中新增加了一个属性,然后赋值,再添加到list中是没有报错,但结果不显示我新增的属性是为什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信