java方法重载继承与多态

2023-11-29

这是我遇到的一个测试练习问题,非常感谢您帮助我理解这些概念

让 Hawk 成为 Bird 的子类。假设某个类有两个重载方法 void foo(Hawk h) 和 void foo(Bird b)。在调用 foo(x) 之后将执行哪个版本 声明 Bird x = new Hawk();

这是我到目前为止的代码,有人可以向我解释为什么 foo(bird b) 被执行吗?

public class MPractice {
    public static void main(String args[]) {
        Bird x = new Hawk();
        Third y = new Third();
        y.foo(x);
    }

}



 public class Third {
    void foo(Hawk h) {
        System.out.println("Hawk");
    }
    void foo(Bird b) {
        System.out.println("Bird");
    }


}

当 Java 执行重载决策来选择方法时,它使用变量的类型(而不是对象的运行时类型)来选择方法。的类型x is Bird, 所以Third选择的方法是foo(Bird).

这是因为这里不涉及多态性;我们不会调用可能被重写的方法Bird多变的x,我们只是在不相关的类上调用一组重载方法中的一个,Third.

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

java方法重载继承与多态 的相关文章

  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s

随机推荐

  • OnDataChanged 永远不会被调用

    我正在尝试 dataitem APi 这是我的代码 mGoogleApiClient new GoogleApiClient Builder this addConnectionCallbacks new GoogleApiClient C
  • 为什么下面的“std::transform”示例需要函数指针而不是函数对象?

    函数模板std transform 获取一个范围 使用运算符对其进行组件式操作 并将结果保存在另一个范围中 在下面的示例中 该函数采用泛型std initializer list called nl并对其进行操作 std string T
  • 带 CSS 的浮动标签在 Edge、Internet Explorer 中不起作用

    我使用 Css 制作了浮动标签输入字段 它可以在 chrome firefox 上正常工作 但不能在 Internet Explorer 和 Edge 上工作 所有其他浏览器在未聚焦时显示的输入字段与第一张图像中所示相同 而在聚焦时则与第二
  • 如何传递对字符串的引用?

    我读过的所有内容scanf gets and fgets是它们有问题 带有空白 溢出或复杂性 我正在学习 C 课程简介 因为我有足够的 Java 和其他语言编程经验 所以我有信心这样做 所以我决定创建自己的函数来获取用户使用的字符串输入ge
  • 涉及 group by 和 join 的 SQL 查询

    我无法在标题部分更具体 但我想为我做一些有点复杂的事情 我以为我做到了 但事实证明这是有问题的 我有以下三个表 项目表 id项目 title idOwner 报价表 idOffer id项目 帐号 负责任的 帐号 Username Now
  • 我可以阻止接口的实现吗?

    我有以下情况 public interface A void doSomethingCool public interface B extends A void doSomethingVeryBCool public interface C
  • 等待用户完成 JavaScript 中 blob 的下载

    在 Javascript 中 我创建了许多 blob 我想提示用户将它们另存为文件 目前 我正在使用URL createObjectURL 将 URL 放入链接中 并模拟对该链接的点击 当然我打电话URL revokeObjectURL释放
  • 从 DWORD 到 64 位指针的类型转换警告

    旧的 32 位 C 应用程序 MS Visual Studio 的代码行如下 m value PUCHAR someDWORD 其中 PUCHAR 是指向无符号字符的指针 现在我已更改为 64 位 并且收到有关从 DWORD 转换为 64
  • RequireJS:为什么相对路径适用于define(),但不适用于require()?

    假设您有以下目录结构和以下文件 root require jquery js folder index html main js AnotherModule js 在 RequireJS 中 当您引用以 开头的模块时 RequireJS 会
  • 是否可以使用 PowerShell 获取 Azure 订阅优惠或 OfferId?

    是否可以使用 Powershell 获取 Azure 订阅优惠或 OfferId 通过门户 这将是订阅 gt 属性 gt 优惠或优惠 ID 我找了好久了 还是没看到 Thanks 现在可以使用资源图形浏览器通过类似于以下的查询从门户完成此操
  • 如何读取本地xml文件作为android中的输入流资源文件夹?

    我正在尝试从类似的东西获取输入流 InputSource myInputSource new InputSource activity getResources openRawResource com MYCLass R xml progr
  • 在邮递员帖子请求中发送地图

    当我希望它使用 RequestBody 注释直接映射到我的 Java pojo 时 我找不到关于如何在 json 帖子中格式化地图的好答案 我假设 json 看起来像这样 myInt 10 myMap 1 A 我的 pojo 会有一个myI
  • JS 代码在 codepen 上运行缓慢,但在本地运行良好

    我已经为无与伦比的井字游戏实现了极小极大算法 极小极大算法是递归的 执行大迭代 这对计算机来说并不大 只对人类来说大 第一步在 codepen 上执行大约需要 3 秒 但在我的本地计算机上立即执行 怎么了 我的代码效率不高吗 或者是code
  • Google Charts LineChart 自定义点

    是否可以添加一个自定义点形状到折线图 谷歌的自定义点文档没有提及任何有关添加他们尚未提供的形状的内容 我确实找到了这个类似的问题有一个很好的答案 但我不认为我可以使用 angular google chart 做到这一点 即使有可能 我也希
  • Javascript 对象 push() 函数

    我有一个 javascript 对象 我实际上通过 ajax 请求获取数据 var data 我在里面添加了一些东西 data 0 ID 1 Status Valid data 1 ID 2 Status Invalid 现在我想删除所有状
  • 将 Excel 转换为 PDF - Java 使用 iText

    我使用 Apache POI 创建了一个 excel 文件 现在我需要将其转换为 PDF 我想使用 iText 但我想将合并的单元格 样式等从 Excel 文件复制到 pdf 我怎样才能实现这个目标 因为我在网上找到的代码示例 使用 iTe
  • ruby、rails gem 安装错误 - 错误:执行 gem 时 ... (Encoding::UndefinedConversionError)

    我尝试使用 ruby 来使用上一个版本 但是当运行 gem install Rails 时 总是出现错误 ERROR While executing gem Encoding UndefinedConversionError U 041D
  • 检查 SQL Azure 中数据库是否存在

    谁能告诉我如何在 sql azure 中编码数据库是否存在 您是否尝试过查询 sys databases 表 这应该会给你你正在寻找的东西 更多信息here 注意 您需要针对 Master 数据库运行此查询 否则 您只会看到当前数据库 和主
  • 如何使用 Loki 的小对象分配器?

    我需要使用 Loki 的小对象分配器 但我对其工作原理感到非常困惑 我已经阅读了文档和很多论坛 但没有意义 其中一些人说使用 stl 其他人则使用自定义分配器 我只需要能够通过分配和取消分配不同大小的对象来测试其性能 有人可以提供一个如何使
  • java方法重载继承与多态

    这是我遇到的一个测试练习问题 非常感谢您帮助我理解这些概念 让 Hawk 成为 Bird 的子类 假设某个类有两个重载方法 void foo Hawk h 和 void foo Bird b 在调用 foo x 之后将执行哪个版本 声明 B