4. Modifizierer (Modifier): Warum darf eine Klasse nicht "abstract" und "final" gleichzeitig sein?

Submitted by javafrage on Fri, 12/23/2011 - 13:58

Die Antwort ist auf der Folgeseite (URL rechts unten) zufinden.

Niveau 1
Schwierigkeitsgrad mittel
Zeit 2 Minuten

Antwort zu Frage 3 : Implementieren einer abgeleiteten Klasse

public class Punkt2D {
   private double x;
   private double y;

   public Punkt2D(double xx, double yy) {
      x = xx;
      y = yy;
   }
   /**
   * Diese Methode erzeugt eine Zeichenkette der x
   * und y Koordinate
   * @return Zeichenketten mit Belegung
   */
   public String drucken() {
      String s = "x:"+ x + " y: " +y;
      return s;
   }
}// Ende der Klase Punkt2D

public class Punkt3D extends Punkt2D{
   private double z;
   public Punkt3D(double xx, double yy, double zz) {
      super(xx,yy);
z = zz;
}
/** * Diese Methode erzeugt eine Zeichenkette der x,y und Z * Koordinate * @return Zeichenketten mit Belegung */ public String drucken() { String s = super.drucken() + "z:" +z; return s; } }// Ende Klasse Punkt3D

Antwort zu Frage 4: Abstrakte und finale Klassen

Die Frage finden Sie auf der vorgehenden Seite (URL links unten klicken)

  • Abstrakte Klassen dürfen nicht instanziiert werden. Es können nur Instanzen von abgeleiteten Klassen gebildet werden werden.
  • Finale Klassen dürfen nicht abgeleitet werden.

Eine finale, abstrakte Klasse kann weder instanziiert noch spezialisiert werden. Man kann sie nicht benutzen.