Autor Tema: Ayuda con esta duda de JAVA: static void? significado de static  (Leído 17263 veces)

alfred_oh

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Buenas, estoy con los modificadores de java.
Si no estoy mal el modificador static para las variables te permite modificarlos desde cualquier parte de la clase. Por lo tanto me dispuse a crear la siguiente clase:

public class bestdesGGT
{
static int a=36,b=2;

public static void main(String[] args)
{
modi(a);
System.out.println(a);
}

public static void modi(int a)
{
a=a+2;
}
}

La idea es que la variable static a se modifique con el metodo modi y sacar el nuevo valor por pantalla, sin embargo esto no ocurre y por la terminal se sigue viendo el valor 36, cuando tendría que ser 38.
Rogaría que colocaran la fuente de la respuesta (libros, apuntes, blogs, foros) Gracias!
« Última modificación: 12 de Septiembre 2014, 18:26 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ayuda con esta duda de JAVA: static void?
« Respuesta #1 en: 16 de Junio 2012, 23:57 »
Hola alfred, después de ver este código la impresión que me da es que no tienes claros conceptos básicos de java, porque el código planteado aparenta ser bastante incoherente.

Tu método modi obviamente no hace nada porque el tipo devuelto es void, recibe un parámetro y opera con ese parámetro, no con la variable a de la clase. El nombre de variable queda oculto por la variable local, para rescatarlo tendrías que usar this.a. Pero ni aún así le veo ninguna coherencia al código.

Te doy una orientación que sí pudiera tener sentido:

CLASE TEST1

public class test1{

public static void main(String[] args) {
bestdesGGT miVariable = new bestdesGGT();

miVariable.modi(2);
System.out.println(miVariable.geta());
}

}


CLASE bestdesGGT

public class bestdesGGT {
int a;
int b;

public bestdesGGT() {a=36; b=2; }

public void modi(int aSumar)
{
a=a+aSumar;
}

public int geta(){ return a;}
}



Te recomendaría que empieces por aquí:

https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Vete paso a paso, así aprenderás el manejo de conceptos que parece que no tienes claros como constructor, campos de clase, modificadores, significado de static, concepto de objeto, etc.


Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ayuda con esta duda de JAVA: static void?
« Respuesta #2 en: 17 de Junio 2012, 00:03 »
Por cierto, el significado de que una variable o método sea static es que la variable o método es de clase, no de objeto.

 

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