Java 오류: 생성자가 정의되지 않음

Haider Ali 2023년10월12일
  1. Java의 생성자가 정의되지 않음 오류
  2. Java에서 constructor is undefined 오류 수정
Java 오류: 생성자가 정의되지 않음

이 가이드에서는 Java의 오류인 constructor not defined 에 대해 알아봅니다.

Java의 생성자가 정의되지 않음 오류

constructor is undefined는 매우 일반적인 오류입니다. 이 오류는 제목과 같이 생성자를 정의하지 않은 경우에 발생합니다.

사용자가 기본 생성자와 매개 변수가 있는 생성자를 혼동할 수 있으므로 이 오류가 발생하기 쉽습니다. 가장 일반적인 문제는 사용자가 매개변수로 생성자를 정의하지만 호출 중에 매개변수를 언급하지 않는다는 것입니다. 따라서 이 오류가 발생합니다.

또 다른 이유는 생성자가 정의되는 방식일 수 있습니다. 생성자는 반환 유형 없이 정의되므로 반환 유형이 언급되면 동일한 오류가 발생할 수 있습니다.

코드 예:

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);
  }
}

출력:

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

이 오류 모양 클래스의 생성자 모양을 지정된 유형에 적용할 수 없습니다. 생성자가 정의되지 않음과 동일합니다. 단순 도형 함수는 여기에서 매개변수화된 생성자로 정의되지만 함수는 호출 중에 매개변수와 함께 호출되지 않습니다.

두 번째 이유는 생성자가 반환 유형을 허용하지 않기 때문에 void를 언급하는 것조차 규칙에 위배됩니다.

Java에서 constructor is undefined 오류 수정

반환 유형인 void를 제거하는 동안 솔루션은 위에서 언급한 대로입니다. 호출 함수에서 매개변수를 언급함으로써 constructor is undefined 오류를 성공적으로 제거할 수 있습니다.

아래 코드 스니펫은 이전 코드 섹션에 명시된 오류를 수정하는 방법을 보여줍니다. 이러한 오류를 제거하면 원하는 대로 프로그램을 실행할 수 있습니다.

코드 예:

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);
  }
}

남은 오류가 없으며 코드가 원하는 대로 성공적으로 실행됩니다. 가장 단순한 실수로 인해 이러한 유형의 불필요한 오류가 발생할 수 있습니다.

앞으로 이러한 유형의 오류가 발생하지 않도록 항상 코드를 올바르게 수정하고 Java 구문에 대해 배우십시오.

작가: 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

관련 문장 - Java Error