use*_*095 1 java static attributes abstract
我想在milk类中设置名称和代码静态属性.为什么这不起作用?我甚至无法覆盖名称和代码的setter/getters.
public abstract class Cow {
private static String name;
private static String code;
...
public static String getName() {
return name;
}
public static void setName(String name) {
Cow.name = name;
}
public static String getCode() {
return code;
}
public static void setCode(String code) {
Cow.code = code;
}
...
}
public class Milk extends Cow{
...
static {
Milk.setName("asdmilk");
Milk.setCode("KDDFA");
}
..
}
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
每个子类都没有获得一组静态变量Cow
,并且根本无法覆盖静态方法.静态成员基本上不是多态的.
目前尚不清楚为什么要尝试这样做,但基本上如果你声明一个静态变量,那么就有一个变量,一个完全停止.呼叫Milk.setName
完全等同于Cow.setName
在此呼叫.