Duvida sobre construtor

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 + " "); }
}

por causa de um tal de this ?

[code]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);
}
}[/code]

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 :wink: