Duvida sobre construtor

1 resposta
P

Olá pessoal,

duvida sobre construtor por que quando instance na classe

SubCat s = new SubCat();

o camando this chama o construtor SubCat(int c)

Quem puder me ajudar agradeceria …

abs

public class SubCat extends Cat {
	SubCat(int c) { 
		           super(c); 
		        	System.out.print("passa SubCat(int c) "+c);
		           System.out.print("cable "); 
    }
    SubCat() { 
    	this(14); 
    	System.out.print("passa SubCat() ");
    	       
    }
    public static void main(String [] args) {
	      SubCat s = new SubCat();
	}

}


------------------------


public class Cat {
	Cat(int c) { System.out.print("cat" + c + " "); }
}

1 Resposta

peczenyj

por causa de um tal de this ?

public class A{
 private int atributo;

/* aqui o construtor inicia um atributo */
 public A(int a){ 
   atributo=a;
 }

/* aqui o contrutor sem parâmetros chama o contrutor anterior passando 0 como argumento */
 public A(){ 
     this(0);
 }  
}

No seu caso, ele faz this(14), ou seja, ele inicializa o construtor que se 'adapta' a esse tipo de dado, no caso se vc tem 'SubCat(int c)', seria o mesmo que fazer 'new Subcat(14);' pense nisso como um valor default definido em um dos seus construtores ;-)

Criado 30 de abril de 2006
Ultima resposta 30 de abr. de 2006
Respostas 1
Participantes 2