Domanda

Ho letto il Metodi prevalenti e nascondendo Tutorial. E da ciò, ho raccolto quanto segue:

Se una sottoclasse definisce un metodo di classe con la stessa firma di un metodo di classe nella superclasse, il metodo nella sottoclasse nasconde Quello nella superclasse.

Come tale, ho fatto quanto segue:

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();
    }
}

Quello che non mi piace di questo design è quello append è ancora un visibile Metodo della sottoclasse. Invece di lanciare il UnsupportedOperationException, Avrei potuto lasciare il corpo vuoto. Ma entrambi si sentono brutti.

Detto questo, esiste un approccio migliore per nascondere i metodi della superclasse?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top