为什么空方法附加有意义?

ΦXo*_*a ツ 1 java methods implementation

在java 7上午使用PropertyChangeEvent类突然我发现了这个:

/**
 * Returns a string representation of the object.
 *
 * @return a string representation of the object
 *
 * @since 1.7
 */
public String toString() {
    StringBuilder sb = new StringBuilder(getClass().getName());
    sb.append("[propertyName=").append(getPropertyName());
    appendTo(sb);   // <----HERE
    sb.append("; oldValue=").append(getOldValue());
    sb.append("; newValue=").append(getNewValue());
    sb.append("; propagationId=").append(getPropagationId());
    sb.append("; source=").append(getSource());
    return sb.append("]").toString();
}

void appendTo(StringBuilder sb) {
}
Run Code Online (Sandbox Code Playgroud)

是什么让我发疯,为什么要打电话给这个方法appendTo()

特别是那种方法什么都不做?

这有什么意义,我在第一眼看不到?

Bat*_*eba 5

如果子类重写appendTo方法,则非常有意义.

这就是特定子类的东西可以注入到这个函数中的方式.(虽然对这种效果的评论会很好).

替代方法 - 需要完全覆盖toString- 可能导致相当多的代码重复.