Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/05/2011 #1


Variables static en Java.
Cuando necesito que una variable definida en una clase, se pueda usar en otra clase conservando su valor, las defino como static ¿Es esto correcto?

Recuerdo cuando me enseñaron a programar en C, que las variables globales era mejor no usarlas, y esto de las variables static creo que es algo parecido.

Saludos.
20/05/2011 #2

Avatar de Dr. Zoidberg

micropepe dijo: Ver Mensaje
Cuando necesito que una variable definida en una clase, se pueda usar en otra clase conservando su valor, las defino como static ¿Es esto correcto?
Nop. Lo correcto es declararla como public static final. Así se transforma en una constante, y al ser public....cualquier otra clase puede accederla sin alterar su valor. Esto es algo "parecido" al:
Código:
#define PEPE 1234
del lenguaje C, solo que en Java tiene mucha más cáscara:
Código:
public class PP {
     public static final int PEPE =  1234:
     // y acá van otros atributos y métodos
}
micropepe dijo: Ver Mensaje
Recuerdo cuando me enseñaron a programar en C, que las variables globales era mejor no usarlas, y esto de las variables static creo que es algo parecido.
Esto no es una variable global, sino una CONSTANTE global...pero eso poco importa. Lo que importa es que es CONSTANTE.
Por otra parte, la declaración static significa algo completamente diferente de lo que estás planteando. En Java, el modificacor static solo se aplica a atributos y métodos, y lo que eso significa es ese atributo (o método) no es de instancia sino de clase. Esto es, hay un solo atributo o método (el calificado como static) que es compartido por todas las instancias de la clase, y no uno diferente por cada instancia creada. Se entiende????

Por último, PEPE no es global, por que hay que dar su nombre completamente calificado para poder usarla, y en el mejor de los casos este nombre es: PP.PEPE
21/05/2011 #3


Bueno, ahora lo tengo algo mas claro, gracias.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.