Es ist eine ziemlich lange Zeit her, seit ich mit Java Abstraction und/oder Interfaces herumgespielt habe, aber ich komme jetzt zurück für ein Projekt und etwas geht mir auf die Nerven. Unten ist ein Ausschnitt meines Codes.Java Abstraktion und Interfaces
public class A {
private static String name = "None";
private static String description = "No description";
public A() {}
public A(User user) {
user.setData(this);
}
public static String getName() {
return name;
}
public static String getDescription() {
return description;
}
}
public class B extends A {
private static String name = "B";
private static String description = "This is B";
public B() {}
public B(User user) {
super(user);
}
}
public class User {
private A a;
public void setData(A a) {
this.a = a;
}
public A getData() {
return a;
}
}
Als ich B.getName()
verwende ich erwarten, dass es "B"
zurückzukehren, aber es ist stattdessen "None"
zurück.
Jetzt mache ich offensichtlich etwas falsch, und die Suche herum half nicht ein bisschen. Ich bin ziemlich sicher, dass dies irgendwie möglich ist, wenn ich nicht mit einer anderen Sprache verwechselt werde.
Könnte mir bitte jemand in die richtige Richtung zeigen? Vielen Dank.
Statische Felder funktionieren nicht so. – SLaks