Foros del Web » Programación para mayores de 30 ;) » Java »

duda tonta constructor java..basico

Estas en el tema de duda tonta constructor java..basico en el foro de Java en Foros del Web. Hola miren, tengo un pequeño programa... pero no se por que me imprime NULL Código PHP: public class  uno  {     public static  String dos ;          public  uno ...
  #1 (permalink)  
Antiguo 28/03/2014, 12:14
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
duda tonta constructor java..basico

Hola miren, tengo un pequeño programa...

pero no se por que me imprime NULL


Código PHP:

public class uno {

    public static 
String dos;
    
    public 
uno(){
        
        
dos="viernes 28";
    }
    
    public static 
void main(String[] args){
        
        
System.out.println(dos);
        
    }
    
    

si bien lei esto...

Cita:
Un constructor tiene por objetivo inicializar atributos.
y entonces...¿?¿?¿?¿

Última edición por aldo_rengo; 28/03/2014 a las 12:22
  #2 (permalink)  
Antiguo 28/03/2014, 12:27
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: duda tonta constructor java..basico

desde el constructor. se pueden imprimir System.out.println???



a mi no imprime...

, por que aca da ejemplos que si se puede..:


http://www.javaya.com.ar/detalleconc...o=99&inicio=20
  #3 (permalink)  
Antiguo 28/03/2014, 12:27
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: duda tonta constructor java..basico

Para que el constructor se ejecute, tienes que crear una instancia de la clase, en tu programa se ejecuta el código main y solo imprimes la cadena dos que esta vacia.

Código Java:
Ver original
  1. public class uno {
  2.     public static String dos;    
  3.     public uno(){
  4.        
  5.         dos="viernes 28";
  6.     }    
  7.     public static void main(String[] args){
  8.         Uno uno = new Uno();
  9.         System.out.println(dos);        
  10.     }  
  11.    
  12. }
  #4 (permalink)  
Antiguo 28/03/2014, 12:37
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: duda tonta constructor java..basico

Por otro lado, cuidado con las variables declaradas como static, una variable static, va asociada a la clase y todas las instancias de esa clase, tendrán el mismo valor en sus variables de tipo static (el último valor que se le asigne quiero decir).

Un ejemplo, para que veas la diferencia, si tienes:

Código Java:
Ver original
  1. public class uno {
  2.     public static String dos;    
  3.     public uno(){
  4.        
  5.         dos="viernes 28";        
  6.     }
  7.    
  8.     public static void main(String[] args){        
  9.         uno uno = new uno();
  10.         uno uno1 = new uno();
  11.         uno1.dos = "lalala";
  12.         System.out.println(uno.dos);
  13.         System.out.println(uno1.dos);        
  14.     }      
  15. }

Esto te imprimirá "lalala" dos veces.
Sin embargo si la variable no es static:

Código Java:
Ver original
  1. public class uno {
  2.     public String dos;    
  3.     public uno(){
  4.        
  5.         dos="viernes 28";        
  6.     }
  7.    
  8.     public static void main(String[] args){        
  9.         uno uno = new uno();
  10.         uno uno1 = new uno();
  11.         uno1.dos = "lalala";
  12.         System.out.println(uno.dos);
  13.         System.out.println(uno1.dos);        
  14.     }      
  15. }

Esto te imprimirá "viernes 28" y "lalala"

Ojo con los nombres de las clases, por convenio deben ir con la primera letra en mayusculas "Uno"

Un saludo.
  #5 (permalink)  
Antiguo 28/03/2014, 13:23
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: duda tonta constructor java..basico

gracias, son pregunta, muy tontas...
pero son dudas...
que surgen

----

bueno al menos esto funciono...

Código PHP:

public class uno {

    public static 
String dos;
    
    public 
uno(){
    
        
dos ="viernes 28";
    }
    
    public static 
void main(String[] args){
    
        
uno dos=new uno();
        
dos.mensaje();
    }
    public 
void mensaje(){    
        
System.out.println(dos);
    }
    


Última edición por aldo_rengo; 28/03/2014 a las 13:35

Etiquetas: constructor, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:44.