HOWTO · Java

Java의 유형 오류에 대한 메소드가 정의되지 않음

이 자습서는 Java의 유형 오류에 대해 메서드가 정의되지 않음을 보여줍니다.

이 페이지의 내용

이 튜토리얼은 자바의 the method is undefined for the type 오류를 보여줍니다.

Java의 유형 오류에 대한 메소드가 정의되지 않음

현재 클래스에 정의되지 않은 메서드를 호출하려고 할 때마다 “유형에 대해 메서드가 정의되지 않았습니다” 오류가 발생합니다. 예를 들어 the method is undefined for the type 오류가 발생합니다.

package delftstack;

public class Delftstack1 {
  Delftstack1() {
    System.out.println("Constructor of Delftstack1 class.");
  }
  static void delftstack1_method() {
    System.out.println("method from Delftstack1");
  }
  public static void main(String[] args) {
    delftstack1_method();
    delftstack2_method();
  }
}
class Delftstack2 {
  Delftstack2() {
    System.out.println("Constructor of Delftstack2 class.");
  }
  static void delftstack2_method() {
    System.out.println("method from Delftstack2");
  }
}

위의 코드는 Delftstack1 클래스의 Delftstack2 클래스에서 오류를 발생시키는 개체의 인스턴스를 생성하지 않고 직접 메서드를 호출합니다. 출력 참조:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    The method Delftstack2_method() is undefined for the type Delftstack1

    at DelftstackDemos/delftstack.Delftstack1.main(Delftstack1.java:12)

이 문제를 해결하려면 Delftstack1 클래스에서 Delftstack2 클래스의 개체를 인스턴스화해야 합니다. 솔루션 보기:

package delftstack;

public class Delftstack1 {
  Delftstack1() {
    System.out.println("Constructor of Delftstack1 class.");
  }
  static void delftstack1_method() {
    System.out.println("method from Delftstack1");
  }
  public static void main(String[] args) {
    delftstack1_method();
    Delftstack2 delftstack2 = new Delftstack2();
    delftstack2.delftstack2_method();
  }
}
class Delftstack2 {
  Delftstack2() {
    System.out.println("Constructor of Delftstack2 class.");
  }
  static void delftstack2_method() {
    System.out.println("method from Delftstack2");
  }
}

이제 위의 코드가 제대로 작동합니다. 출력 참조:

method from Delftstack1
Constructor of Delftstack2 class.
method from Delftstack2