Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: jotase1507 en 25 de Febrero 2015, 16:39
-
Buenos dias, primero respondere las preguntas.
¿Qué mensaje de error se obtiene?
Se obtiene el siguiente mensaje: "variable no-static "this" no puede hacer referencia a partir de un contexto static"
¿Por qué se obtiene este mensaje de error?
Se obtiene ya que el metodo main, al ser static, no puede ejecutar metodos que se encuentren fuera del mismo, para esto es necesario crear los metodos en una clase aparte.
¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos?
Para que se ejecute haria lo siguiente (al menos yo)
Clase Atributo
public class Atributo {
int atributo1;
Atributo (int atrib) {
atributo1 = 0;
}
public int getAtrib1() {
return atributo1;
}
}
Clase Main
public class Main {
public static void main (String[ ] Args) {
Atributo atrib = new Atributo(0);
System.out.println ("Mensaje 1");
System.out.println ("Atributo 1 vale " + atrib.getAtrib1());
}
}
-
Hola jotase
Solución correcta. OK
Nota: Puedes hacer lo mismo sin dividir la clase:
public class Test {
int atributo1;
Test (int atrib) {atributo1 = 0;}
public static void main (String[ ] Args) {
Test miTest = new Test(15);
System.out.println ("Mensaje 1");
// System.out.println ("Atributo 1 vale " + this.getAtrib1());
System.out.println ("Atributo 1 vale " + miTest.getAtrib1());
} //Cierre del main
public int getAtrib1() {return atributo1;}
} //Cierre de la clase
Saludos