quelque chose à propos de ce code me confond. La première ligne d'impression est 1600. Je comprends que cela a quelque chose à voir avec la classe statique étant Car et non Sportscar. Mais nous avons créé l'objet comme une voiture de sport, alors pourquoi ne pas le champ de volume 3500? Merci.Confondre code java - lié à la liaison statique
public class Car {
public int volume;
public Car() { this(1600); }
public Car(int volume) { this.volume = volume; }
public String toString() { return "Car:" + volume; }
}
public class SportsCar extends Car {
public int volume;
SportsCar() { this(3000); }
SportsCar(int volume) { this.volume = volume; }
public String toString() {return "SportsCar:"+volume;}
}
public class CarApplication {
public static void main(String [] args) {
Car car = new SportsCar(3500);
System.out.println(car.volume);
System.out.println(car.toString());
System.out.println(car);
}
}
le type de
car
http://stackoverflow.com/questions/685300/is-there -a-way-to-override-classe-variables-in-java –S'il vous plaît [modifier] votre message ne doit contenir que du code valide - c'est-à-dire se débarrasser des numéros de ligne. –