HOWTO · Java
メソッドは Java の型エラーに対して未定義です
このチュートリアルでは、Java の型エラーに対してメソッドが未定義であることを示します。
このページの内容
このチュートリアルでは、Java の the method is undefined for the type エラーについて説明します。
メソッドは Java の型エラーに対して未定義です
現在のクラスで定義されていないメソッドを呼び出そうとすると、型のメソッドは定義されていませんというエラーが発生します。 例では、型に対してメソッドが定義されていませんというエラーがスローされます。
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