El método no está definido para el error de tipo en Java

Sheeraz Gul 12 octubre 2023
El método no está definido para el error de tipo en Java

Este tutorial demuestra el error de Java “el método no está definido para el tipo”.

el método no está definido para el error de tipo en Java

El error el método no está definido para el tipo ocurre cada vez que intentamos llamar a un método que no está definido en la clase actual. Un ejemplo arroja el error el método no está definido para el tipo.

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

El código anterior llama a un método de la clase Delftstack2 en la clase Delftstack1 directamente sin crear una instancia del objeto que arrojará el error. Ver salida:

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)

Para solucionar este problema, tenemos que instanciar el objeto de la clase Delftstack2 en la clase Delftstack1. Ver la solución:

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

El código anterior funcionará correctamente ahora. Ver salida:

method from Delftstack1
Constructor of Delftstack2 class.
method from Delftstack2
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Java Error