Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DRANXZ88 en 12 de Mayo 2016, 20:48
-
¿Qué mensaje de error se obtiene? ¿Por qué se obtiene este mensaje de error? ¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos?
¿Qué mensaje de error se obtiene?
el código fuente incompilable - variable no estática esto no se puede hacer referencia a partir de un contexto estático
¿Por qué se obtiene este mensaje de error?
Yo pienso como el metodo main es estático y el otro es un objeto y como dice que ante de ejecutar el programa están las clase pero no el objeto.
¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos?
La solución que yo encontré es crear una clase que le llame prueba y después instan ciar desde el método main para ejecutarlo.
El código quedaría como este.
Clase principal main
package test;
public class Test {
public static void main(String[] args) {
Prueba prueba = new Prueba();
System.out.println("Mensaje 1");
System.out.println("Atributo 1 vale" + prueba.getAtrib1());
}
}
Clase prueba es la nueva clase que cree
package test;
public class Prueba {
private int atributo1;
public Prueba() {
}
Prueba(int atrib) {
atributo1 = 0;
}
public int getAtrib1() {
return atributo1;
}
}
-
Hola DRANXZ88, a la hora de plantear una solución la idea era hacerlo sin crear una nueva clase. Puedes ver cómo se puede hacer en este ejercicio de otro compañero: https://www.aprenderaprogramar.com/foros/index.php?topic=2354.0
Saludos
-
Ejercicios corregidos
package test;
public class Test {
static int atributo1;
Test(int atrib) {
atributo1 = atrib;
}
public static void main(String[] args) {
atributo1 = 8;
System.out.println("Mensaje 1");
System.out.println("Atributo 1 vale " + getAtrib1());
}
public static int getAtrib1() {
return atributo1;
}
}
Hice como me recomendaste gracia :) :)