我已经阅读了覆盖和隐藏方法教程。由此,我收集了以下内容:
如果子类定义了与超类中的类方法具有相同签名的类方法,则子类中的方法会隐藏超类中的方法。
因此,我做了以下事情:
import javax.swing.JTextArea;
public final class JWrappedLabel extends JTextArea{
private static final long serialVersionUID = -844167470113830283L;
public JWrappedLabel(final String text){
super(text);
setOpaque(false);
setEditable(false);
setLineWrap(true);
setWrapStyleWord(true);
}
@Override
public void append(final String s){
throw new UnsupportedOperationException();
}
}
我不喜欢这种设计的是它append
仍然是子类的可见方法。UnsupportedOperationException
我可以让身体空着,而不是扔掉。但两人都觉得丑。
话虽这么说,有没有更好的方法来隐藏超类的方法?