Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [JAVA] Vererbung: Problem mit Konstruktor (https://www.delphipraxis.net/157081-%5Bjava%5D-vererbung-problem-mit-konstruktor.html)

MrSpock 28. Dez 2010 16:52

[JAVA] Vererbung: Problem mit Konstruktor
 
Hallo,

ich habe in Java eine Klasse class1, die zwei Konstruktoren hat mit verschiedenen Parametern:

Code:
public class class1 {

  // constructor 1
  public class1 (int par1) {
   ... }

  // constructor 2
  public class1 (int par1, int par2) {
   ...}
}
Es gibt keinen parameterlosen Konstruktor. Wenn ich jetzt die Klasse erweitern möchte mit:

Code:
public class2 extends class1 {
...
}
meldete NetBeans, dass es keinen Konstrutor class1() gibt.

Schlaues Kerlchen! Aber was muss ich machen, damit ich eine Unterklasse von class1 erstellen kann?

implementation 28. Dez 2010 17:05

AW: [JAVA] Vererbung: Problem mit Konstruktor
 
Das Problem liegt darin, dass Java versucht, für Class2 automatisch einen parameterlosen Konstruktor bereitzustellen, quasi so:
Code:
public Class2()
{
  super(); // Hier scheiterts
}
Es scheitert daran, dass Class1 keinen parameterlosen Konstruktor besitzt.

Stelle einfach für Class2 einen eigenen Konstruktor bereit und es wird laufen.

Klaus01 28. Dez 2010 17:10

AW: [JAVA] Vererbung: Problem mit Konstruktor
 
Hallo MrSpock,

wie schaut es aus wenn Du es so ab änderst?

Code:
public class2 extends class1 {
  class2() { super(0,0); }
...
}
Die abgeleitete Klasse benötigt einen Konstruktor der Oberklasse.

Hier gefunden

Grüße
Klaus

MrSpock 28. Dez 2010 17:17

AW: [JAVA] Vererbung: Problem mit Konstruktor
 
Ja, das war's. NetBeans benötigt hier den super Aufruf. Solange es keinen gibt, nimmt es an, man wolle den default Konstruktor (ohne Parameter) benutzen. Den gibt es nicht, also meckert der Datenanalysierer.

Ich hatte die Antwort auch hier noch gefunden.

Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz