Java中super是如何实现的?

2023-12-22

“超级”实际上是在哪里定义的? [当我们使用 super.someMethod() 时]。它是定义为 java.lang.Object 类还是 java.lang.Class 类中的字段吗?

当我们从子类调用时, super 包含对其超类的引用。以同样的方式,超类本身中的 super 对其超类具有引用 [以这种方式直至 java.lang.Object]。那么,java如何将超类引用注入到“super”字段中,使我们能够调用超类方法呢?

是否有像下面这样的底层实现:

    Class current = this.getClass();
    Class parent = current.getSuperclass();
    System.out.println("name is =" + parent);

super like this是一个关键字。它在 Java 中具有含义,但未反映在 Java 字节码中。这意味着我的父类的实现(可以继承)

在字节码级别,它将显式调用其父类的方法。

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

Java中super是如何实现的? 的相关文章

  • 存根方法时出现 InvalidUseOfMatchersException

    我有这个 TestNG 测试方法代码 InjectMocks private FilmeService filmeService new FilmeServiceImpl Mock private FilmeDAO filmeDao Bef
  • Java Runtime.getRuntime().freeMemory() 问题

    我搜索并看到了一些线程 但没有一个能够解决我遇到的具体问题 我正在尝试使用以下方式监视我的内存使用情况Runtime getRuntime freeMemory Runtime getRuntime maxMemory and Runtim
  • Spring Security 自定义过滤器

    我想自定义 Spring security 3 0 5 并将登录 URL 更改为 login 而不是 j spring security check 我需要做的是允许登录 目录并保护 admin report html 页面 首先 我使用教
  • 如何在 Firebase 远程配置中从 JSON 获取值

    我是 Android 应用开发和 Firebase 的新手 我想知道如何获取存储在 Firebase 远程配置中的 JSONArray 文件中的值 String 和 Int 我使用 Firebase Remote Config 的最终目标是
  • 使用 Ant 将非代码资源添加到 jar 文件

    我正在将 java 应用程序打包成 jar 文件 我正在使用 ant 和 eclipse 我实际上需要在 jar 中直接在根文件夹下包含几个单独的非代码文件 xml 和 txt 文件 而不是与代码位于同一位置 我正在尝试使用includes
  • JVisualVM/JConsole 中的 System.gc() 与 GC 按钮

    我目前正在测试处理 XML 模式的概念验证原型 并围绕一个非常消耗内存的树自动机外部库 我已经获得了源代码 构建 我想绘制 真实峰值 堆 随着模式大小的增加 不同运行的内存消耗 使用的指标符合我的目的并且不会影响问题 或者至少是它的合理近似
  • Spring RestTemplate 使用 cookie 遵循重定向

    最近我遇到了一个问题 我需要做一个GET请求远程服务 我假设使用一个简单的 servlet 并且 RestTemplate 返回Too many redirects 经过一番调查 似乎对指定远程服务发出的第一个请求实际上只是一个 302 重
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 了解joda时间PeriodFormatter

    我以为我明白了 但显然我不明白 你能帮我通过这些单元测试吗 Test public void second assertEquals 00 00 01 OurDateTimeFormatter format 1000 Test public
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • 是否可以使用 Java Guava 将函数应用于集合?

    我想使用 Guava 将函数应用于集合 地图等 基本上 我需要调整 a 的行和列的大小Table分别使所有行和列的大小相同 执行如下操作 Table
  • Java Swing:需要一个高质量的带有复选框的开发 JTree

    我一直在寻找一个 Tree 实现 其中包含复选框 其中 当您选择一个节点时 树中的所有后继节点都会被自动选择 当您取消选择一个节点时 树中其所有后继节点都会自动取消选择 当已经选择了父节点 并且从其后继之一中删除了选择时 节点颜色将发生变化
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 配置“DataSource”以使用 SSL/TLS 加密连接到 Digital Ocean 上的托管 Postgres 服务器

    我正在尝试托管数据库服务 https www digitalocean com products managed databases on 数字海洋网 https en wikipedia org wiki DigitalOcean 创建了

随机推荐

  • 如何冻结表格报告中的第一列?

    我有一个包含 70 列的表格报告 我的要求是在水平滚动时冻结第一列 我已尝试检查 Tablix 属性中的行标题 但仍然不起作用 如何冻结第一列 以下是在 SSRS 中冻结列 行的步骤 步骤1 去Groupings窗格底部并选择高级模式 步骤
  • 单线程执行任务,无需排队进一步的请求

    我需要异步执行任务 同时丢弃任何进一步的请求 直到任务完成 同步方法只是将任务排队并且不会跳过 我最初想使用 SingleThreadExecutor 但它也会对任务进行排队 然后 我查看了 ThreadPoolExecutor 但它读取队
  • 阻止访问 JavaScript 文件

    假设我有一个 JavaScript 文件 使用 htaccess 有没有办法让用户无法查看 JavaScript 文件内部 RewriteEngine on RewriteCond HTTP REFERER http your domain
  • Hibernate 3.5.x:NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval

    我正在尝试升级到 Hibernate 3 5 3 FINAL 运行单元测试时 我现在收到以下异常 java lang NoSuchMethodError javax persistence OneToMany orphanRemoval Z
  • java中如何将json字符串放入列表中

    我得到了一个JSON array像字符串一样 id ca Primary Diagnosis Dt field ca Primary Diagnosis Dt type date input text operator not equal
  • 用户控件中的 INotifyPropertyChanged

    我有一个从 TextBox 控件继承的自定义控件 我想实施INotifyPropertyChanged我的自定义控件中的界面 public class CustomTextBox TextBox INotifyPropertyChanged
  • 我应该在 Java Web 应用程序中使用安全管理器吗?

    使用运行应用程序服务器进程的用户的权限来保护 Java Web 应用程序是否足够 或者将 SecurityManager 与合适的策略文件一起使用是否合理 我曾经做过前者 而不是后者 但一些客户希望我们也使用 SecurityManager
  • 在 Xamarin Android 中启用 Multi-Dex 后出错

    在创建 Xamarin Android 应用程序时 添加对 Infragistics Chart 控件和 Google Play 服务的引用后 我们必须启用 启用 Multi Dex 属性true 因为应用程序达到了 65K 的 dex 方
  • AngularJS:避免使用 $location 进行 url 编码

    我注意到 当我将一个数组参数传递给 location search 时 它的编码如下例所示 location path somePath search ids 1 2 3 becomes somePath ds 5B 5D 1 ds 5B
  • CNCopyCurrentNetworkInfo() 返回错误数据

    Apple 在 OS 4 1 中引入了 CNCopyCurrentNetworkInfo 函数 https developer apple com library ios documentation SystemConfiguration
  • Rails 中的匹配和路线

    我生成了一个控制器并更改了路线 但打开链接会在我的本地服务器上产生错误 生成控制器和路线 rails generate controller StaticPages home about team contact 更改路线 rb MyApp
  • 如何在 ssrs 的 IIF 表达式中使用多个条件(使用 AND)

    我想隐藏 SSRS 报告中数量为零的行 有期初库存 总发货 转出 销售数量 库存调整 期末库存等多个数量栏 我正在使用以下表达式来完成此任务 IIF Fields OpeningStock Value 0 AND Fields GrossD
  • 如何使用 Ruby 一步初始化一个数组?

    我这样初始化一个数组 array Array new array lt lt 1 lt lt 2 lt lt 3 是否可以一步完成 如果是这样 怎么办 您可以使用数组文字 array 1 2 3 您还可以使用范围 array 1 3 to
  • 重构安全 ArgumentException 的 Lambda 表达式

    Update 从 C 6 开始这不再是问题 C 6 引入了nameof https stackoverflow com questions 11063502 getting names of local variables and para
  • 为我的所有表单设置相同的图标

    有什么办法可以为我的所有表单设置相同的图标 而不必一一更改 就像你设置时一样GlobalAssemblyInfo适用于解决方案中的所有项目 在项目属性 gt 应用程序 gt 图标和清单 gt 中浏览找到 ico 文件并将其添加到此处 在构造
  • React-Native 中的线性渐变

    我有一个组件 我想要在 React Native 中从右下到左上的线性渐变 我尝试使用 react native 线性渐变 但它不起作用 成分 渲染返回 return
  • 如何使用 Qt Creator 中的 GDB 进行远程调试?

    我正在开发一个嵌入式 Linux 应用程序 我想使用 GDB 来调试它 问题是 虽然 Kit 配置看起来不错 调试器选项正确指向与设备的 GCC 对应的 GDB 设备是 Linux ARM 但当我要求 Qt Creator 在调试模式下运行
  • 使用带有动态选择的 Wagtail“ChoiceBlock”,而不是硬编码列表

    我们有一个博客模型的设置 该模型与 BlogPageCategory 具有多对多关系 并且我们有一个 最近的博客文章 流字段块 可让您指定是否显示 X 最新博客文章的卡片 或来自特定类别的 X 最新博客文章 因此 我们从以下代码开始 fro
  • jquery 的跨域和 google CDN [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 不使用Google CDN for jquery违反了网页上不使用跨域请求的规则 我们是否足够信任谷歌来做到这一点 浏览器本身允许使用来自外国网
  • Java中super是如何实现的?

    超级 实际上是在哪里定义的 当我们使用 super someMethod 时 它是定义为 java lang Object 类还是 java lang Class 类中的字段吗 当我们从子类调用时 super 包含对其超类的引用 以同样的方