防止静态块的继承

2023-12-02

如果我们运行派生类,它将打印派生类和父类。有什么方法可以防止静态块的继承吗?

//1类

public class parent {
static {
      System.out.println("Parent");
}
}

//Class2

public class derived extends parent{
      static {
            System.out.println("derived");
      }

      public static void main(String [] args) {

      }
}

基本上,我在父类中有一些方法,我想继承这些方法,但不希望在实例化派生类时发生在父静态块中发生的处理。 .有什么办法可以做到这一点,否则我将不得不复制代码?


NO.你不能这样做 。静态初始化块不被继承。静态块在类加载时执行,因为您的基类扩展了超类,甚至在引用您的类时,JVM 也会加载超类定义。

根据JLS 12.4.1:

何时初始化 类或接口类型 T 将在第一次发生以下任一情况之前立即进行初始化:

• T 是一个类,并且创建了T 的实例。

• T 是一个类,并且调用由T 声明的静态方法。

• 分配了T 声明的静态字段。

• 使用由T 声明的静态字段,并且该字段不是常量变量(第4.12.4 节)。

• T 是顶级类(第7.6 节),并且执行词法嵌套在T(第8.1.3 节)内的断言语句(第14.10 节)。

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

防止静态块的继承 的相关文章

随机推荐

  • 如何初始化和使用静态结构[重复]

    这个问题在这里已经有答案了 我在类中定义了一个静态结构 但它导致错误为 Error 错误 LNK1120 1 个未解析的外部 我的头文件 class CornerCapturer static struct configValues int
  • Sagepay 5006 错误代码修复

    谁能告诉我为什么 sagepay 会抛出 5006 无法重定向到供应商的网站 我可以将交易发布到 sagepay 并且可以在 sagepay 端提供信用卡信息 但是 我的问题是 一旦它返回到我的通知页面 它就会抛出错误 5006 我最终无法
  • 在jquery中的anchor中添加span标签

    如何在锚点内添加span标签 将其更改为 a href somewhere html Here is the link to somewhere a 用 jquery 对此 a href somewhere html span Here i
  • 如何使用正则表达式删除字符串中的重复字符?

    我需要替换字符串中的重复字符 我尝试使用 outputString str replaceAll 1 这会替换重复的字符 但字符的位置会发生变化 如下所示 input haih output aih 但我需要得到一个输出hai 也就是说 字
  • 使用 indy / delphi 组件通过 https 发布文件

    我正在尝试使用 delphi 中的 Indy 组件通过 https 上传文件 这是我的代码 HTTP TIdHTTP Create Self IOHandler TIdSSLIOHandlerSocketOpenSSL Create HTT
  • 如何计算出响应式 CSS 的正确最小宽度和最大宽度值?

    我现在刚刚开始研究响应式 CSS 和设计 我想知道如何计算出各种设备宽度 我不想花一整天的时间测试每一个可能的移动设备 我只想让响应式布局足以发挥其作用 我看到一些网站使用 media only screen and max device
  • 在 python 脚本和 applescript 之间传递和接收值

    我对 python 和 applescript 很陌生 我有一个 python 脚本正在调用 2 个 applescripts 我想在 python 中定义一些全局变量并传递给 applescript 1 这些值将由 applescript
  • Azure 逻辑应用 SQL ODATA 按日期筛选

    我正在创建一个新的逻辑应用程序 它读取一个表 其中DateCreated lt ADDDAYS 60 GETDATE 并更新Archived bit to 1 但是 我一生都无法弄清楚如何将该过滤器实现为 ODATA 查询的一部分 到目前为
  • (Robotium) 操作栏向上/主页按钮单击

    I use Robotium作为我的 Android 应用程序的 Junit 测试库 我写了一些效果很好的测试 但是当我尝试编写测试时原生操作栏 s 单击向上 主页按钮 失败了 我的测试代码非常简单 Solo solo new Solo g
  • 为什么我会收到准备好的语句的语法错误? [复制]

    这个问题在这里已经有答案了 我已经编写了一个准备好的语句 但它在 给出了语法错误 我无法理解出了什么问题 它应该传递电影名称并作为该电影的导演获得结果 stmt getConnection createStatement String sq
  • 将 numpy 数组写入 lmdb

    我正在尝试将 python 中的一些 numpy 数组写入 lmdb import numpy as np import lmdb def write lmdb filename lmdb env lmdb open filename ma
  • Android Eclipse 错误:“Gson 无法解析为类型”

    我对 Java Eclipse 和 Android 比较陌生 所以这可能是一个完全愚蠢的问题 但我还是要问它 我正在学习一个项目来测试连接到 flickr api 并简单地显示最近的图像 我现在想要解析从 flickr 收到的 JSON 我
  • 如何防止 scanf 失败导致无限循环

    该代码应该可以换一美元并且运行良好 但教授说他将随字母一起输入随机数字 它可以很好地处理数字 但是当输入字母时会出现无限循环 有什么建议吗 include
  • 如何在android中对本地数据库进行语音识别检查?

    您是否还记得在旧手机中您可以创建语音快捷方式来呼叫某人 我正在尝试在 android 中制作一个具有该功能的应用程序 用户录制想要控制应用程序的单词或声音 语音识别器只会检查它听到的声音是否等于之前录制的声音 有谁知道如何制作这个或知道指南
  • 在Python中调整OSX系统音频音量

    我想通过 python 脚本调整 OSX 中的系统音量 这个问题关于实现键盘快捷键告诉我如何在 applescript 中执行此操作 但我真的很想从 python 脚本中执行此操作 而不使用 os system popen 等 理想情况下
  • Android 中基于一个手柄旋转和缩放视图

    我正在尝试根据 Android 中的一个 拖动 手柄来旋转和缩放视图 随着布局旋转和视图大小调整 最终结果应该是拖动手柄跟随用户手指移动 这是基于结合这两个问题 如何使用手柄在android中缩放视图 在android中绕两点旋转不起作用
  • 使用 htaccess 将页面从一个页面重定向到另一个页面而不更改 url

    有没有办法在 joomla 中使用 htaccess 将页面从一个页面重定向到另一个页面而不更改 url 我想更改网址 http idaycom com index php component quates to http idaycom
  • 如何在 julia 中将 Array{Array{Float64, 1}, 1} 转换为矩阵?

    假设我有这样的输入 gt 0 8681299566762923 0 3472589826095631 3 2300860990307445 3 3731249077464946 如何将其转换为更令人愉快的类型 例如矩阵 已知尺寸 您可以使用
  • 如何在旧版本的 Android 上使用 ActionBar? [复制]

    这个问题在这里已经有答案了 可能的重复 早期 sdk 版本中的 ActionBar 相当于什么 如果我没记错的话 Android 指南说您应该使用 ActionBar 在应用程序内进行全局导航 但与此同时 您通常希望以尽可能最旧的 API
  • 防止静态块的继承

    如果我们运行派生类 它将打印派生类和父类 有什么方法可以防止静态块的继承吗 1类 public class parent static System out println Parent Class2 public class derive