Java继承: How to declare a static variable in Super and instantiate it in subclass

标签 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>();

}

显然这是行不通的。但是你会如何声明一个变量?然后用父类(super class)中的变量执行一些常见的功能;然后确保每个子类都有自己的静态 LinkedList?

最佳答案

你不能按照这些思路做事。您能做的最接近的事情就是在父类(super class)中拥有一个抽象(非静态)方法并用它做一些事情。

但一般来说,您不能强制子类执行任何静态操作,并且您无法像您尝试那样从父类(super class)访问子类的静态字段。

关于Java继承: How to declare a static variable in Super and instantiate it in subclass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12979946/

相关文章:

java - 如何将字节包装到 XML 中以将 XML 提供给 Web 服务

java - 使用带有 Swing 的鼠标绘制(单色)数组的最简单方法是什么?

java - 如何在groovy(或java)中找到当前的基本执行目录?

java - DriverManager.deregisterDriver(driver) 是否关闭所有连接?

php - 制作我自己的(非数据库)fetch_object 函数

c# - 为多个域实现 IRepository

对象 : what alias should have "this" for passing into anonymous function? 内的 JavaScript 闭包

c++ - 在关于转换对象的地址空间的 c 风格类型转换期间实际发生了什么?

C# 自定义 Observable 集合——我应该使用组合还是继承?

c++ - 如何同时从基类和派生类调用函数?