Autor Tema: Solucion Ejercicio CU00683B - Concepto de métodos de clase o static Java  (Leído 2649 veces)

jotase1507

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 38
    • Ver Perfil
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
Código: [Seleccionar]
public class Atributo {
    int atributo1;
    Atributo (int atrib) {
        atributo1 = 0;
    }
    public int getAtrib1() {
        return atributo1;
    }
}

Clase Main
Código: [Seleccionar]
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());
    }
}
« Última modificación: 26 de Febrero 2015, 09:06 por Alex Rodríguez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola jotase

Solución correcta. OK

Nota: Puedes hacer lo mismo sin dividir la clase:

Código: [Seleccionar]
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

 

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".