Java super.toString()或使用属性名

Java super.toString()或使用属性名,java,Java,假设我有Person(字符串名)和Student(字符串名,字符串课程),它们扩展了Person 在Student上重写toString()时,有什么更好的方法 return super.toString() + " course: " + course; //or return "name: " + name + " course: " + course; 这一点都不重要,但归根结底是你希望学生和人之间的关系是什么样的。如果您希望学生的toString()方法始终是super.toStrin

假设我有Person(字符串名)和Student(字符串名,字符串课程),它们扩展了Person

在Student上重写toString()时,有什么更好的方法

return super.toString() + " course: " + course;
//or
return "name: " + name + " course: " + course;

这一点都不重要,但归根结底是你希望学生和人之间的关系是什么样的。如果您希望学生的
toString()
方法始终是
super.toString()+“课程:“+course
,这样,当您修改人的
toString()
时,学生的
toString()
会发生变化,那么请确保这是正确的方法。然而,如果你想让学生的
toString()
不依赖于Person的
toString()
,那么就不要包括对Super的调用。

这一点都不重要,但归根结底是你想要学生和Person的关系是什么。如果您希望学生的
toString()
方法始终是
super.toString()+“课程:“+course
,这样,当您修改人的
toString()
时,学生的
toString()
会发生变化,那么请确保这是正确的方法。但是,如果您希望Student的
toString()
不依赖Person的
toString()
,则不要在第二种方法
Super中包含对Super的调用。

。toString()
不好。因为
toString()
可以返回除
name
之外的任何其他内容。第一个对你来说会更好。但是使用
super.toString()
不会有任何问题,只要您确定它将只返回
name
,并且始终返回。但我更愿意使用第一种方法

在第二种方法中
super.toString()
不好。因为
toString()
可以返回除
name
之外的任何其他内容。第一个对你来说会更好。但是使用
super.toString()
不会有任何问题,只要您确定它将只返回
name
,并且始终返回。但我更愿意使用第一种方法

return super.toString() + " course: " + course;
这两种选择几乎都一样好。然而,第一个是更好的设计从维护的角度来看,考虑未来的情况下,如果你想添加新的属性到人类发言地址。然后,使用第一个选项可以避免在两个地方进行更新。通过选项一,更新Person的toString方法也会在Students toString中添加新属性

S.: -考虑使用String Bu建器,而不是串联字符串。

这两种选择几乎都一样好。然而,第一个是更好的设计从维护的角度来看,考虑未来的情况下,如果你想添加新的属性到人类发言地址。然后,使用第一个选项可以避免在两个地方进行更新。通过选项一,更新Person的toString方法也会在Students toString中添加新属性


S.S::考虑使用String Bu建器代替字符串连接。

考虑Suff.ToString。考虑Suff.ToString。在下投票时,考虑添加注释,以便我们能够改进。在进行投票时,考虑添加注释,以便我们能够改进。