如何给子类提供静态字段?

2024-03-01

我有一个名为 operation.java 的抽象超类和几个扩展该类并表示操作的子类。每个这样的子类应该包含一个规范化内容的数组,该数组应该是静态的,因为它全局保存。我有以下示例:

abstract class Operation {

    private static double[] normalizingConstants;

    protected Operation() {
        normalizingConstants = new double[10];
    }
}

class AddOp extends Operation {

    protected AddOp() {
        super();
    }
}

class MinusOp extends Operation {

    protected AddOp() {
        super();
    }
}

每个子类是否都拥有自己的静态规范化常量?如果我打电话AddOp.normalizingConstants[0] and MinusOp.normalizingConstant[0]我想要不同的结果。如何才能实现这一目标?


每个子类是否都拥有自己的静态标准化常量?

不,只有一个normalizingConstants (Operation.normalizingConstants). static字段绑定到class它们被声明的地方。

如果我调用 Adob​​e.normalizing Constants[0] 和 Minus.normalizing Constant[0] 我想要不同的结果。如何才能实现这一目标?

如果您需要不同的normalizingConstants数组,您需要在子类中声明另一个静态变量,例如

class MinusOp extends Operation {

    private static double[] normalizingConstants;
...

请注意,您的normalizingConstants字段只能从声明类内部访问,因为它们是声明的private.

另外,您不应该在构造函数中初始化静态数组 - 使用静态初始化器 https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html反而。否则,每次创建类(或任何子类)的新实例时,都会重新初始化该数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何给子类提供静态字段? 的相关文章

随机推荐

  • BeautifulSoup find_all() 不返回任何数据

    我对 Python 很陌生 我最近的项目是从博彩网站抓取数据 我想要抓取的是网页上的赔率信息 这是我的代码 from urllib request import urlopen as uReq from bs4 import Beautif
  • 如何以编程方式列出 Rails 中的所有控制器

    我正在尝试构建一个 RESTful 应用程序来实际管理多种可配置对象 因此有大量的 资源 类型 因此有很多控制器 我仍处于 POC 阶段 所以如果我可以在第一个导航页面中显示所有控制器 那就太好了 那么有什么简单的方法 可编程 可以做到这一
  • 如何在 Silverlight 中更改 Textblock 的背景颜色?

    我想要一个黄色背景上有蓝色文本的文本块 我可以使用 前景 属性设置蓝色文本 但 背景 不起作用 我想那太简单了 那么最好的方法是什么 将其包裹在具有背景颜色的矩形或画布中 并且 我们是否应该了解有关 Silverlight 的任何内容 以了
  • 无法使用 ACI 卷。所需的驱动程序是“azure_file”

    尝试使用以下方式在 Azure 中部署此应用程序docker compose version 3 5 x environment default back environment Database settings POSTGRES DB
  • 在javascript中动态更新嵌套对象[重复]

    这个问题在这里已经有答案了 我有一个从 json 解码的对象 var data parentSeries 1 children BusinessRule ChrisTest2 ID ChrisTest2 3 childsub 3 jsonC
  • 如何在 Visual Studio 中将构建配置更改为发布?

    我正在尝试发布一个 Xamarin 项目 我怎样才能将构建配置更改为Release在 Visual Studio 2015 中 Update I have found the solution here it is 根据如何 设置调试和发布
  • 在 Composer 中设置“config.fxp-asset.installer-paths”选项

    当我运行composer update在继续更新之前我收到以下警告 The extra asset installer paths option is deprecated use the config fxp asset installe
  • 设计更好的 API?

    设计 API 时应遵循哪些最佳实践和模式 如何实现隐藏的最佳方式 C Java 设计本质上通用的 API 有哪些参考书 链接可以为初学者提供简洁的示例指导吗 我不确定我对你们所有的个人问题都有一个很好的答案 但我想我对第一个问题确实有一个很
  • isBeingPresented 值不一致

    我以模态方式呈现一个带有 ViewController 的 NavigationController 在 ViewController 中我可以看到self navigationController isBeingPresented是真的
  • Laravel - 将 Guzzle 请求记录到文件

    在开发一个项目时 我发现第三方 API 可以在 Postman 中运行 但不能在 Guzzle Client 中运行 调试 Guzzle 请求可能很困难 那么有没有什么方法可以记录 Guzzle 客户端发出的所有请求 TLDR 有一种简单的
  • Django CSRF 框架无法禁用并且正在破坏我的网站

    django csrf 中间件无法禁用 我已从项目的中间件中将其注释掉 但由于缺少 CSRF 问题 我的登录失败 我在 Django 主干上工作 如果中间件中未启用 CSRF 它如何会导致问题 我必须禁用它 因为我的网站上有很多 POST
  • 如何使用 pandas 获取某种格式的表格并导出为 csv?

    我是 pandas 的新手 我想要一个需要导出 csv 格式的表格 我尝试过的是 o rg o gg a rg a gg 是数组 df1 pd DataFrame RED o rg GREEN o gg df2 pd DataFrame R
  • 根据两列的值删除行

    我有一个巨大的文件 my file txt 大约有 8 000 000 行 如下所示 1 13110 13110 rs540538026 0 NA 1 33177622457982 1 13116 13116 rs62635286 0 NA
  • 在基本控制器中重写 ASP.NET MVC 中的 OnAuthorization

    在我的 ASP NET MVC 应用程序中 我试图确定用户是否有权访问特定控制器 该控制器受授权数据注释的限制 如下所示 Authorize Roles user 我正在尝试覆盖 OnAuthorization 以检查 如果请求已通过身份验
  • 在 C# 中异步加载图像

    我正在开发一个 C WPF 应用程序 它加载大量图像并将其显示为缩略图 我想以多线程的方式来做 因此我尝试实现一个BackgroundWorker BackgroundWorker的DoWork 的代码 string files e Arg
  • 使用 @PreUpdate 的问题

    我有以下课程 MappedSuperclass public abstract class MappedModel Id GeneratedValue strategy GenerationType AUTO Column name id
  • 引用另一个矩阵后,numpy.ones 的第一行仍然被填充

    我有一个矩阵 A 其值如下所示 使用 numpy ones 创建矩阵 B 并通过索引 i 行和 j 列将值从 A 分配到 B 后 生成的 B 矩阵保留第一行 1 来自原始的 B 矩阵 我不确定为什么下面提供的代码会发生这种情况 命令行生成的
  • 如何以编程方式将单击事件分配给以编程方式创建的项目符号列表?

    我尝试以编程方式编写一个方法并将其分配为 onclick 事件调用的方法 但有些地方不对 该方法未被调用 BulletedList bulletList new BulletedList 我使用将项目添加到项目符号列表中bulletList
  • 为什么我的 ' 字符在发布到我的服务器时变成了 \'?

    我对HTML不是很强 每次都会遇到一些编码问题 在这里 我有一个类似的表格
  • 如何给子类提供静态字段?

    我有一个名为 operation java 的抽象超类和几个扩展该类并表示操作的子类 每个这样的子类应该包含一个规范化内容的数组 该数组应该是静态的 因为它全局保存 我有以下示例 abstract class Operation priva