Java-Fehler: Der Konstruktor ist nicht definiert

Haider Ali 12 Oktober 2023
  1. der Fehler Konstruktor ist nicht definiert in Java
  2. Beheben Sie den Fehler Konstruktor ist nicht definiert in Java
Java-Fehler: Der Konstruktor ist nicht definiert

Diese Anleitung befasst sich mit dem Java-Fehler Konstruktor nicht definiert.

der Fehler Konstruktor ist nicht definiert in Java

Der Konstruktor ist undefiniert ist ein sehr häufiger Fehler. Dieser Fehler tritt auf, wenn wir keinen Konstruktor definiert haben, wie im Titel.

Dieser Fehler kann sehr leicht auftreten, da Benutzer zwischen einem Standardkonstruktor und einem parametrisierten Konstruktor verwechselt werden können. Das häufigste Problem ist, dass Benutzer einen Konstruktor mit Parametern definieren, aber während des Aufrufs die Parameter nicht erwähnen; Daher tritt dieser Fehler auf.

Ein weiterer Grund könnte die Art und Weise sein, wie der Konstruktor definiert ist. Konstruktoren müssen ohne Rückgabetyp definiert werden, wenn also ein Rückgabetyp erwähnt wird, kann es denselben Fehler geben.

Codebeispiel:

public class Shapes {
  double Shapes;
  double Width;
  double Height;

  public void Shapes(double Name) // constructor defined
  {
    Name = Shape;
  }
  public void setHeight(double HeightOfShape) {
    Height = HeightOfShape;
  }
  public void setWidth(double WidthOfShape) {
    Width = WidthOfShape;
  }
}
public class TestClass {
  public static void main(String[] args) {
    Shapes Shape1 = new Shapes(); // Error will occor here.
    Shape1.setHeight(5);
    Shape1.setWidth(3);
  }
}

Ausgang:

TestClass.java:24: error: constructor Shapes in class Shapes cannot be applied to given types;
    Shapes Shape1 = new Shapes();  //Error will occor here.
                    ^
  required: double
  found: no arguments
  reason: actual and formal argument lists differ in length

Dieser Fehler Konstruktor Shapes in der Klasse Shapes kann nicht auf bestimmte Typen angewendet werden; ist dasselbe wie der Konstruktor ist undefiniert. Eine einfache Shapes-Funktion wird hier als parametrisierter Konstruktor definiert, aber die Funktion wird während des Aufrufs nicht mit Parametern aufgerufen.

Der zweite Grund ist, dass ein Konstruktor keinen Rückgabetyp akzeptiert, also ist sogar die Erwähnung eines void gegen die Regel.

Beheben Sie den Fehler Konstruktor ist nicht definiert in Java

Die Lösung ist wie oben erwähnt beim Entfernen eines Rückgabetyps void. Indem wir die Parameter in der aufrufenden Funktion erwähnen, können wir den Fehler Konstruktor ist nicht definiert erfolgreich entfernen.

Das folgende Code-Snippet zeigt, wie der im vorherigen Codeabschnitt angegebene Fehler behoben werden kann. Indem wir diese Fehler entfernen, können wir das Programm wie gewünscht ausführen.

Codebeispiel:

class Shapes {
  double shape;
  double Width;
  double Height;

  public Shapes(double Name) // removing return type
  {
    Name = shape;
  }
  public void setHeight(double HeightOfShape) {
    Height = HeightOfShape;
  }
  public void setWidth(double WidthOfShape) {
    Width = WidthOfShape;
  }
}
public class TestClass {
  public static void main(String[] args) {
    Shapes Shape1 = new Shapes(3); // adding proper parameters
    Shape1.setHeight(5);
    Shape1.setWidth(3);
  }
}

Es bleiben keine Fehler mehr übrig und der Code wird wie gewünscht erfolgreich ausgeführt. Beachten Sie, dass die einfachsten Fehler diese Art von unnötigen Fehlern verursachen können.

Denken Sie immer daran, den Code ordnungsgemäß zu überarbeiten und sich über die Syntax von Java zu informieren, damit diese Art von Fehlern in Zukunft nicht mehr auftritt.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Verwandter Artikel - Java Error