如何解决在超类中创建子类的实例
每当我创建超类的实例时,我都希望它自动创建子类的一个实例。然后我可以从超类的实例访问子类。
public class SortArticles {
private String title;
private String linkToFullArticles;
private FullArticle fullArticleObject;
public String getTitle() {
return this.title;
}
public FullArticle getFullArticleObject() {
return this.fullArticleObject;
}
}
public class FullArticle extends SortArticles {
private List<Label> labelList;
}
我想这样打电话:
ArrayList<SortArticles> sortList = new ArrayList<>();
sortList.add(new SortArticles());
sortList.get(0).getFullArticleObject().getTitle;
可以这样做吗?我想使用HashMap来链接sort和full,但我需要创建2个arraylist,并手动链接。
解决方法
你误解了继承的概念。
你可以说,那只狗是一种动物,但你不知道,一般来说,这种动物肯定会吠叫。
获得父母属性的是孩子,反之亦然。当您实例化某个 SuperClass
时,它不会与其子类成员一起实例化,而且它应该永远。
例如,如果您实例化 java.lang.Object
,它永远不会(并且永远不会)拥有您的(假设)Employee
类的任何成员;但是,您的 Employee
将始终继承其所有父级的所有非私有成员。
此外,假设您有一百个类扩展了一个 SuperClass
。您是否希望(或者您希望,毕竟)您的 SuperClass
实例包含从它派生的所有一百个类的所有非私有成员? java.lang.Object
的实例是否应包含类路径上可用的所有非私有基础结构?
不,这很糟糕,那是错误的,这不合逻辑。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。