Bah, achei a solução ! e vcs ? o que essa coisa imprime?

4 respostas
balrog
public class Vehicle {

Vehicle (int wheels){

super();

System.out.print(Vehicle(int),);

}

}
public class Car extends Vehicle{

Car(int wheels, String make){

super (wheels);

System.out.print(Car(int,String),);

}

Car(){

super (4);

System.out.print(Car(),);

}

}
public class FourWheelDrive extends Car {

FourWheelDrive (int wheels){

this ();

System.out.print(FourWheelDrive(int),);

}

FourWheelDrive(){

super();

System.out.print(FourWheelDrive(),);

}

FourWheelDrive(int wheels, String make){

this(wheels);

System.out.print(FourWheelDrive(int,String),);

}

public static void main (String args[]){

Vehicle v = new FourWheelDrive(2,Beetle);

}

}

4 Respostas

maxguzenski

acredito que ele apenas vai “empilhando” as funcoes, e depois do contruct do OBJECT, ele comece a executar os System.out.println de traz pra frente

Vehicle(int),Car(),FourWheelDrive(),FourWheelDrive(int),FourWheelDrive(int,String),

maxguzenski

outra coisa interessante, é que o compilador coloca a chamada “super()” (contrutor pai, sem parametros) automaticamente nos contrutores filhos desde que eles nao tenham this nem super…

o q eu quero dizer é, o resultado seria exatamente o mesmo, se nenhum “super()” estivesse presente

balrog

está certo !!

V

Valew pessoal, aprendi mais uma !!! Essa que o compilador só coloca “super();” automaticamente desde que não tenha nenhum “this(…);”

[]'s

Criado 14 de julho de 2003
Ultima resposta 14 de jul. de 2003
Respostas 4
Participantes 3