Ja. Durch die Verwendung einer Schnittstelle kann eine Konstante von mehreren Klassen verwendet werden. Das hilft die Klassen konsistent zu halten.
Hier ist ein kleines Programm, das die Klassen testet.
Die berechneSteuer()
Methode wird nur für Objekte verwendet, deren Klassen die Schnittstelle implementieren.
Hier ist eine Abbildung, die die Klassen und ihre Objekte zeigt: In der Abbildung werden Klassen durch Wolken repräsentiert. Pfeile verbinden Subklassen mit Superklassen. Das gepunktete Rechteck repräsentiert die Schnittstelle; gepunktete Pfeile zeigen welche Klassen sie implementieren. Rechtecke repräsentieren Objekte.
public class KaufhausTester
{
public static void main ( String[] args )
{
Waren waren = new Waren( "Tube", 1.40 );
Lebensmittel lebensmittel = new Lebensmittel ( "Milch", 1.61, 650 );
Buecher buch = new Buecher ( "Emma", 24.95, "Austin" );
Spielwaren spiel = new Spielwaren ( "Lego", 54.45, 8 );
System.out.println( waren );
System.out.println( lebensmittel );
System.out.println( spiel );
System.out.println
("Die Steuer betraegt: " + spiel.berechneSteuer() + "\n" );
System.out.println( buch );
System.out.println
("Die Steuer betraegt: " + buch.berechneSteuer() + "\n" );
}
}