Hallo zusammen,
ich lerne gerade für ein Klausur.
bei einer Übungsaufgabe zur Vererbung bekam ich ein anderes Ergebnis als das von mir erwartete.
die Klassen um die es geht sind folgende
die von mir erwartete Ausgabe war
oben
untenLinks
untenRechts
es wurde aber ausgegeben
oben
oben
oben
Liegt das daran das die Unterklassen von A, die String variable von A erben und somit auf diese zugreifen? Anstelle auf Ihre eigenen String variablen?
ich lerne gerade für ein Klausur.
bei einer Übungsaufgabe zur Vererbung bekam ich ein anderes Ergebnis als das von mir erwartete.
die Klassen um die es geht sind folgende
Java:
class A{
String string = "oben";
String getString(){
return string;
}
void setString(String s){
string = s;
}
}
class B extends A{
String string = "linksUnten";
String getString(){
return string;
}
void setString(String s){
string = s;
super.string="auch "+ s;
}
}
class D extends A{
String string = "rechtsUnten";
String getString(){
return string;
}
void setString (String s){
string = s;
}
}
public class CTest {
public static void main(String []args){
A [] a = {new A(),new B(),new D()};
// es werden drei Objekte des types in ein Array für A Typen gescpeichert.
for(int i =0; i<a.length;i++){
System.out.println(a[i].string);
}
// was passiert?
}
}
die von mir erwartete Ausgabe war
oben
untenLinks
untenRechts
es wurde aber ausgegeben
oben
oben
oben
Liegt das daran das die Unterklassen von A, die String variable von A erben und somit auf diese zugreifen? Anstelle auf Ihre eigenen String variablen?
Zuletzt bearbeitet: