【发布时间】:2011-10-20 19:05:29
【问题描述】:
如果我有一个抽象类,将函数放在其中一个字段中是否合适?还是会引起问题?
示例:
public abstract class A{
private double x = z+w/y;
....
【问题讨论】:
-
如果它有助于保持代码的可读性,这是个好主意。
如果我有一个抽象类,将函数放在其中一个字段中是否合适?还是会引起问题?
示例:
public abstract class A{
private double x = z+w/y;
....
【问题讨论】:
确实,你放的不是一个函数,而是一个表达式作为初始化器。使用它没有什么不好的。
但请注意,如果您的表达式依赖于其他字段,则值取决于初始化顺序。 (有关高级详细信息和示例,请参阅this answer)
【讨论】:
简而言之,这取决于。
你可以从技术的角度来做,是的 - 如果它非常清楚发生了什么并且在阅读代码时没有发生意外的事情(即它不会变成下一个 Java 谜题),那很好。但请记住,如果您将这种事情推向极端,它可能会变成一个真正的难题(例如,它可能取决于初始化字段的顺序)并且应该避免这种情况!
【讨论】: