Tecnología

Inicio

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

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


Cualquier persona que acaba de empezar con el desarrollo de Java es probable que encuentre el "No se puede hacer una referencia estática a un método no estático" de error. Este es un problema común en particular en los casos en que un proyecto Java contiene las declaraciones del método dentro de su clase principal, o está llamando a métodos que no son estáticas, a partir de métodos estáticos. La comprensión de las causas y soluciones al problema es un elemento clave en el aprendizaje de cómo construir proyectos Java.

causas

Si un programa Java intenta llamar a un método que no es estático, a partir de un método que es estático, el compilador o IDE (entorno de desarrollo integrado) generarán un error. Los programadores en las primeras etapas del desarrollo del aprendizaje de Java tienen más probabilidades de encontrar este error, porque todavía no pueden estar familiarizados con los conceptos involucrados en el desarrollo orientado a objetos a través del lenguaje Java. Una situación común en la que el error tiende a surgir es cuando el método principal de un programa está intentando 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 la llamada a métodos no estáticos de los métodos estáticos que realmente necesita ser abordado de una manera que se adapte a la aplicación. Haciendo que el método estático mediante la adición de la palabra clave "estática" para el contorno método puede detener el compilador de quejarse y permitir que un programa se ejecute. Sin embargo, la aparición del error puede indicar que el método podría ser mejor manejado mediante su inclusión en una declaración de clase, llamándolo creando primero un objeto de la clase.

clases

Cuando los desarrolladores de Java diseño de aplicaciones, que dividen las diversas tareas de procesamiento requeridas entre un conjunto de objetos. Estos objetos presentan cada uno un conjunto bien definido de propiedades y comportamientos, como se indica en sus declaraciones de clase. Por lo tanto, los desarrolladores pueden diseñar tipos de objetos para llevar a cabo tareas de aplicación, la formalización de estos diseños escribiendo declaraciones de clase, dentro de los cuales se describen las variables y métodos.

Las instancias de objetos

Una vez que un proyecto de aplicación tiene una o más declaraciones de clase incluidos en el mismo, 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 expuestos en su declaración de la clase correspondiente. Por ejemplo, dada la presencia de una declaración de clase llamado "ayudante" dentro de un proyecto Java, código dentro del proyecto, por ejemplo dentro del método principal, puede crear una instancia de objeto de la clase utilizando la sintaxis de ejemplo siguiente:

Ayudante myHelper = new helper ();

Si, dentro de la declaración de la clase "ayudante", hay un método público denominado "doSomething", el código puede llamar a ese método en la instancia del objeto de la siguiente manera:

myHelper.doSomething ();

Los métodos estáticos

La situación más común en la que se produce el error de referencia estático es cuando un programa intenta llamar a métodos desde el método principal de un proyecto. El método principal es normalmente estática, por lo que el código dentro de ella 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, se producirá el error a menos que el método se define como estática. La elección de crear objetos que llevan a cabo los conjuntos bien definidos de las actividades de aplicación permite a los programadores se dividen más eficazmente los elementos dentro de una aplicación en su conjunto.