Java no puede hacer una referencia estática a un método no estático

Escrito por sue smith Google | Traducido por beatriz sánchez
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Java no puede hacer una referencia estática a un método no estático
Los proyectos Java pueden provocar muchos errores durante la compilación y la ejecución. (Photodisc/Photodisc/Getty Images)

Cualquiera que acabe de empezar con el desarrollo Java seguramente se ha encontrado con el error "No es posible realizar una referencia estática a un método estático". Este es un problema particularmente habitual en los casos en los que el proyecto Java contiene declaraciones de métodos dentro de su clase principal, o cuando llama a métodos que no son estáticos desde métodos estáticos. Entender los motivos y soluciones del problema es un elemento clave para aprender a construir proyectos Java.

Otras personas están leyendo

Causas

Si un programa Java intenta llamar a un método que no es estático, desde un método que es estático, el compilador o IDE (entorno de desarrollo integrado) generará un error. Los programadores que están en las primeras fases del aprendizaje del desarrollo de Java seguramente se encontrarán con este error, puesto que no estarán aún familiarizados con los conceptos involucrados en el desarrollo orientado a objetos a través del lenguaje Java. Una situación habitual en la que el error tiende a aparecer es cuando un método principal del programa intenta llamar a otro método definido en la misma clase, pero que no ha sido declarado como un método estático.

Soluciones

La solución a los problemas de llamada a métodos no estáticos desde métodos estáticos necesita ser tratada de una forma que se ajuste a la aplicación. Crear un método estático añadiendo la palabra "static" en la descripción del método puede evitar que el compilador se queje y permitir que el programa se ejecute. Pero el hecho de que ocurra este error puede indicar que el método podría ser tratado mejor incluyéndolo en una declaración de clase, llamándolo creando primero un objeto de la clase.

Clases

Cuando los desarrolladores Java diseñan aplicaciones, dividen las distintas tareas de procesamiento necesarias entre un conjunto de objetos. Cada uno de estos objetos tiene un conjunto de propiedades y comportamientos bien definidos, como se describe en sus declaraciones de clase. Los desarrolladores pueden así diseñar tipos de objetos para realizar tareas de la aplicación, formalizando estos diseños escribiendo declaraciones de clases, dentro de las cuales se describen los métodos y variables.

Instancias de objetos

Cuando un proyecto de aplicación tiene una o más declaraciones de clases incluidas en él, el código dentro de la aplicación puede crear instancias de objetos. Una instancia de objeto es un elemento de código dedicado con las variables y métodos descritos en sus correspondientes declaraciones de clase. Por ejemplo, si tenemos una declaración de clase llamada "Helper" dentro del proyecto Java, cuyo código está dentro del proyecto, por ejemplo dentro del método principal, puedes crear una instancia del objeto de la clase utilizando la sintaxis de ejemplo siguiente: Helper myHelper = new Helper();

Si dentro de la declaración de clase "Helper" hay un método público llamado "doSomething", el código puede llamar a este método en la instancia del objeto de la siguiente manera: myHelper.doSomething();

Métodos estáticos

La situación más habitual en la cual ocurre el error de referencia estática es cuando un programa intenta llamar a métodos desde el método principal de un proyecto. El método principal es normalmente estático, así que el código que hay dentro de él no puede llamar a métodos estáticos. Si un programador crea una declaración de método dentro de la misma clase que el método principal, el error aparecerá si el método no está definido como estático. Escoger la creación de objetos que realicen conjuntos bien definidos de actividades de la aplicación permite a los programadores dividir de forma más eficiente los elementos dentro de una aplicación como todo.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles