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

如何在我的扩展类中创建构造函数

如何在我的扩展类中创建构造函数

富国沪深 2022-09-07 17:10:17
我尝试在我的扩展类中创建一个构造函数,以便在我的主类中创建对象。当我生成默认的 eclipse 构造函数时,它会显示超类的所有字段,当我尝试在主数据库中创建对象时,我需要放置所有字段。这是我的Person类:public class Person {private String id;private String name;private String gender;private String country;private String cities;private String birthDate;private String deathDate;private List<String> aliases = new ArrayList<String>();private List<String> tags = new ArrayList<String>();public Person(String id, String name, String gender, String country, String cities, String birthDate,        String deathDate, List<String> aliases, List<String> tags) {    this.id = id;    this.name = name;    this.gender = gender;    this.country = country;    this.cities = cities;    this.birthDate = birthDate;    this.deathDate = deathDate;    this.aliases = aliases;    this.tags = tags;}这是我的扩展,组类:public class Group extends Person{private String name;private String country;private String cities;private String beginDate;private String endDate;private List<String> aliases = new ArrayList<String>();private List<String> tags = new ArrayList<String>();private List<Person> members = new ArrayList<Person>();public Group(String id, String name, String gender, String country, String cities, String birthDate,        String deathDate, List<String> aliases, List<String> tags, String name2, String country2, String cities2,        String beginDate, String endDate, List<String> aliases2, List<String> tags2, List<Person> members) {    super(id, name, gender, country, cities, birthDate, deathDate, aliases, tags);    name = name2;    country = country2;    cities = cities2;    this.beginDate = beginDate;    this.endDate = endDate;    aliases = aliases2;    tags = tags2;    this.members = members;}这是生成的构造函数(巨大的构造函数)当我尝试在我的主上创建对象时,它需要所有字段(甚至是Person的类字段),那么有没有办法通过仅填充Group类的字段来创建Group对象?提前致谢。
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

public class Group extends Person {

当你写作时,这意味着一个群体是一种类型的人。但这是不对的。一个组包含人;它本身不是一个人。不要使用继承,而应使用成员资格。你已经有,所以真的只是摆脱条款。Group extends PersonList<Person> membersextends


查看完整回答
反对 回复 2022-09-07
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

我认为您应该能够创建一个较小的构造函数,并为

super (...)

未定义的

public Group(String id, String name, String gender) {
    super(id, name, gender, null, null, null, null, null, null);
}

喜欢这个

PS 注意超类中的空指针异常


查看完整回答
反对 回复 2022-09-07
  • 2 回答
  • 0 关注
  • 60 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信