Geben Sie im Javadoc an, dass implementierende Klassen möglicherweise UnsupportedOperationException auslösen.
Sie können nicht.
Sie können jedoch eine zweite Schnittstelle erstellen und die "optionale" Methode auf diese Schnittstelle verschieben.
Auf diese Weise kann eine Klasse eine oder beide Schnittstellen implementieren.
Sie können eine Methode in einer Schnittstelle nicht optional machen, obwohl Sie einen der folgenden Schritte ausführen könnten:
Machen Sie Ihre Schnittstelle zu einer Abstact-Klasse und implementieren Sie nur die "optionale" Methode
Implementieren Sie die Schnittstelle von Ihren Klassen und werfen Sie NotImplementedException (oder ähnliches)
Machen Sie die Schnittstelle mit einer inneren Klasse, die die optionale Methode
Wie gesagt: Sie können nicht. Aber Sie können Interfaces erweitern, also könnten Sie etwas wie:
konstruieren %Vor%Auf diese Weise können Sie InterfaceA für das Implementieren von Klassen mit nur einer bestimmten Methode und InterfaceB verwenden, wenn Sie beide Methoden verwenden können.
Aber natürlich hängt alles von Ihrem Design ab.
Nein, das kannst du nicht.
Eine Schnittstelle ist ein Vertrag, und muss implementiert sein.
Nein, das ist nicht möglich. Der einfachste Weg, eine Methode in einer Schnittstelle zu implementieren, besteht darin, sofort eine Ausnahme auszulösen. Sie sollten Ihr Schriftdesign überdenken.
Sie können das nicht tun 8) Von Was ist eine Schnittstelle?
>Wenn Ihre Klasse behauptet, eine Schnittstelle zu implementieren, müssen alle von dieser Schnittstelle definierten Methoden in ihrem Quellcode erscheinen, bevor die Klasse erfolgreich kompiliert wird.
Vielleicht sollten Sie eine abstrakte Klasse verwenden.
Sie können eine abstrakte Klasse derselben Schnittstelle erstellen, dieselbe Klasse kann die gleichen Methoden aber optional aufrufen.
Tags und Links java