從Java抽象和/或接口混亂到現在已經很長時間了,但是現在我正在回到一個項目,並且有些東西讓我感到緊張。以下是我的代碼片段。Java抽象和接口
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;
}
}
當我使用B.getName()
我希望它返回"B"
但它不是返回"None"
。
現在我明顯做錯了事,四處尋找沒有幫助。我相當肯定,這可能有些可能,除非我與另一種語言混淆。
難道有人請指點我正確的方向嗎?謝謝。
靜態字段不能這樣工作。 – SLaks