Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: alfred_oh en 16 de Junio 2012, 16:01

Título: Ayuda con esta duda de JAVA: static void? significado de static
Publicado por: alfred_oh en 16 de Junio 2012, 16:01
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!
Título: Re:Ayuda con esta duda de JAVA: static void?
Publicado por: Alex Rodríguez 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.

Título: Re:Ayuda con esta duda de JAVA: static void?
Publicado por: Alex Rodríguez 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.