etwas über diesen Code verwirrt mich. Die erste Druckzeile ist 1600. Ich verstehe, dass es etwas mit der statischen Klasse zu tun hat, die Auto und nicht Sportwagen ist. Aber wir haben das Objekt als Sportwagen erschaffen, warum also nicht das Volumenfeld 3500? Vielen Dank.Confusing Java-Code - im Zusammenhang mit statischer Bindung
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);
}
}
http://stackoverflow.com/questions/685300/is-there gegossen -a-way-to-override-class-variables-in-java –
Bitte bearbeiten Sie Ihre Post, um nur gültigen Code zu enthalten - dh die Zeilennummern loszuwerden. –