Cualquier persona que acaba de empezar con el desarrollo Java es probable que encuentre el "no se puede hacer una referencia estática a un método no estático " error . Este es un problema común, en particular en los casos en que un proyecto Java contiene declaraciones de métodos en su clase principal , o llama a métodos que no son estáticas , de los métodos estáticos. Comprender 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 , de un método que es estático, el compilador o IDE ( Integrated Development Environment) , se generará un error. Los programadores en las primeras etapas del aprendizaje de desarrollo 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 con el 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á tratando de llamar a otro método definido en la misma clase , pero que no ha sido declarada como un método estático.
Solutions
la solución a problemas que exigen métodos no estáticos de métodos estáticos que realmente necesita ser abordado de una manera que se adapte a la aplicación. Hacer que el método estático mediante la adición de la palabra "estático " con el método de contorno puede dejar que el compilador de quejarse y dejar un programa para correr. Sin embargo , la ocurrencia del error puede indicar que el método podría ser mejor manejado mediante su inclusión en una declaración de clase , que calificó en primer lugar la creación de un objeto de la clase.
Clases < br >
Cuando las aplicaciones de diseño de desarrolladores de Java , que dividen las diversas tareas de procesamiento requeridas entre un conjunto de objetos. Estos objetos presentan cada una un conjunto bien definido de propiedades y comportamientos, como se indica en sus declaraciones de clase . Por lo tanto, los desarrolladores pueden diseñar los tipos de objetos para llevar a cabo tareas de aplicación , la formalización de estos diseños , escribiendo declaraciones de clase , en el que se describen las variables y métodos.
Instancias de Object
Una vez que un proyecto de aplicación tiene una o más declaraciones de clases incluidas 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 a las variables y los métodos descritos en la declaración de la clase correspondiente. Por ejemplo, dada la presencia de una declaración de la clase llamada " Helper " dentro de un proyecto Java, código dentro del proyecto, por ejemplo en el método principal, puede crear una instancia de objeto de la clase mediante la sintaxis siguiente muestra:
< p > Helper myHelper = new Helper ();
Si dentro de la declaración de clase " ayudante " , no es un método público llamado " doSomething ", el código se puede llamar a ese método en la instancia del objeto de la siguiente manera : < br >
myHelper.doSomething ();
métodos estáticos
la situación más común en la que se produce el error de referencia estática es cuando un programa intenta llamar a los métodos de el método principal de un proyecto. El método principal es normalmente estática , por lo que el código 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, se producirá el error si no se define el método estático. Elegir para crear objetos que llevan a cabo grupos de actividades de aplicación bien definidos permite a los programadores se dividen más eficazmente los elementos de una aplicación en su conjunto.