質問

私は読んだ オーバーライドおよび隠し方法 チュートリアル。そしてそれから、私は次のことを集めました:

サブクラスがスーパークラスのクラスメソッドと同じ署名を持つクラスメソッドを定義する場合、サブクラスのメソッド スーパークラスにあるもの。

そのため、私は次のことをしました:

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, 、私は体を空にしたままにすることができたかもしれません。しかし、どちらも醜いと感じます。

そうは言っても、スーパークラスの方法を隠すためのより良いアプローチはありますか?

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top