我尝试在我的扩展类中创建一个构造函数,以便在我的主类中创建对象。当我生成默认的 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 Person
List<Person> members
extends
慕丝7291255
TA贡献1859条经验 获得超6个赞
我认为您应该能够创建一个较小的构造函数,并为
super (...)
未定义的
public Group(String id, String name, String gender) { super(id, name, gender, null, null, null, null, null, null); }
喜欢这个
PS 注意超类中的空指针异常
添加回答
举报
0/150
提交
取消