Autor Tema: variable no-estática, no puede ser referenciada desde contexto estático CU00683B  (Leído 6013 veces)

barriway

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 20
    • Ver Perfil
Hola buenos días.

Estas son mis respuestas al ejercicio propuesto.

1.¿Qué mensaje de error se obtiene?


Nos señala que existe un error en la palabra 'this' de la línea:

System.out.println ("Atributo 1 vale" + this.getAtrib1());
 
El compilador nos devuelve el mensaje "variable no-estática, no puede ser referenciada  desde un contexto estático". 


2.¿Por qué se obtiene este mensaje de error?

La palabra this en java se utiliza para hacer referencia a 'el objeto actual' y en el contexto en el que nos encontramos el compilador no puede encontrar un objeto al cual hacer referencia. Por otra parte, se está invocando a método de instancia el cual tiene que aplicarse sobre un objeto, y a esa altura de código el objeto no ha sido creado.


3.¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos?

Como nuestra pretensión es acceder al contenido del atributo atributo1 de un objeto de la clase Test, primeramente deberíamos de crear un objeto de dicha clase y luego invocar al  método getAtrib1() del objeto creado.
En la parte de código dejo una posible solución al ejercicio.

Código: [Seleccionar]
public class Test {
    int atributo1;
    Test (int atrib) {atributo1 = 0;}
    public static void main (String[ ] Args) {
        Test test=new Test(5);// Se crea el objeto
        System.out.println ("Mensaje 1");
        System.out.println ("Atributo 1 vale" + test.getAtrib1());// Se aplica el método sobre el objeto
    } //Cierre del main
    public int getAtrib1() {return atributo1;}
} //Cierre de la clase

Un saludo.
« Última modificación: 16 de Julio 2015, 14:05 por Alex Rodríguez »

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Re:Curso JAVA ejercicio CU00683B . Concepto de métodos de clase o static
« Respuesta #1 en: 15 de Julio 2015, 11:04 »
Buenos días,

Vale lo veo correcto y la solucion que propones también ;) sigue así.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, en www.aprenderaprogramar.com/foros/index.php?topic=2354 se discute también otra forma de solucionarlo por si se quieren ver alternativas. Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".