sta*_*low 0 java oop inheritance
你如何在Super中声明一个静态变量并在子类中实例化它
例
class A
{
static Queue<String> myArray;
public void doStuff()
{
myArray.add(someMethod.getStuff());
}
}
class B extends A
{
myArray = new LinkedList<String>();
}
class C extends A
{
myArray = new LinkedList<String>();
}
Run Code Online (Sandbox Code Playgroud)
显然这不起作用.但是你会如何宣布一个变量; 然后用超类中的变量做一些常用功能; 然后确保每个子类获得它自己的静态LinkedList?
你不能沿着这些方向做事.你可以做的最接近的是在超类中使用抽象(非静态)方法并用它做一些事情.
但是一般来说,你不能强制子类做任何静态的事情,你不能像你想要的那样从超类访问子类的静态字段.