Je Hava léger doute quant à la sortie du programme de Constructor Enchaînement je l'ai montré ci-dessous:Constructor Enchaînement en Java
class Cube {
int length;
int breadth;
int height;
public int getVolume() {
return (length * breadth * height);
}
Cube() {
this(10, 10);
System.out.println("Finished with Default Constructor of Cube");
}
Cube(int l, int b) {
this(l, b, 10);
System.out.println("Finished with Parameterized Constructor having
2 params of Cube");
}
Cube(int l, int b, int h) {
length = l;
breadth = b;
height = h;
System.out.println("Finished with Parameterized Constructor having
3 params of Cube");
}
}
public class SpecialCube extends Cube {
int weight;
SpecialCube() {
super();
weight = 10;
}
SpecialCube(int l, int b) {
this(l, b, 10);
System.out.println("Finished with Parameterized Constructor having
2 params of SpecialCube");
}
SpecialCube(int l, int b, int h) {
super(l, b, h);
weight = 20;
System.out.println("Finished with Parameterized Constructor having
3 params of SpecialCube");
}
public static void main(String[] args) {
SpecialCube specialObj1 = new SpecialCube();
SpecialCube specialObj2 = new SpecialCube(10, 20);
System.out.println("Volume of SpecialCube1 is : "
+ specialObj1.getVolume());
System.out.println("Weight of SpecialCube1 is : "
+ specialObj1.weight);
System.out.println("Volume of SpecialCube2 is : "
+ specialObj2.getVolume());
System.out.println("Weight of SpecialCube2 is : "
+ specialObj2.weight);
}
}
SORTIE:
Finished with Parameterized Constructor having 3 params of SpecialCube
Finished with Parameterized Constructor having 2 params of SpecialCube
Volume of SpecialCube1 is : 1000
Weight of SpecialCube1 is : 10
Volume of SpecialCube2 is : 2000
Weight of SpecialCube2 is : 20
Le doute est au sujet de la OutPut que la façon dont « 1000 "," 10 "," 2000 "&" 20 "sont achiueved?
Dans la classe principale Nous avons créé deux objets:
SpecialCube specialObj1 = new SpecialCube();
SpecialCube specialObj2 = new SpecialCube(10, 20);
D'abord avec « Pas de paramètres » et deuxième avec « deux paramètres », Le Cube Premier constructeur() avec « Aucun paramètre » n'a que deux valeurs this(10,10)
et celui avec « deux paramètres » a les valeurs
Cube(int l, int b)
{this(l, b, 10);}
Je ne comprends pas comment les résultats ci-dessous sont générés.
Volume of SpecialCube1 is : 1000
Weight of SpecialCube1 is : 10
Volume of SpecialCube2 is : 2000
Weight of SpecialCube2 is : 20
S'il vous plaît Quelqu'un peut-il m'aider!
Merci, david
essayer le débogage du code de son de la meilleure façon que vous pouvez suivre le flux –
op semble erroné. Doit imprimer les déclarations contenues dans le cube() constructeur – shaunak1111