重写java中的“私有”方法

2023-12-02

这个想法有些含糊不清,我需要一些澄清。

我的问题是使用这段代码时:

public class B {

    private void don() {
        System.out.println("hoho private");
    }
    public static void main(String[] args) {
        B t = new A();
        t.don();
    }
}

class A extends B {
    public void don() {
        System.out.println("hoho public");
    }
}

输出是hoho private.

这是因为 main 函数与方法在同一个类中吗don,还是因为覆盖?

我在一本书上读到过这个想法,当我把main在另一个类中使用函数时,我收到编译器错误。


您不能覆盖private方法。如果你施放,它是不可见的A to B. You can覆盖一个protected方法,但这不是你在这里所做的(是的,如果你移动你的main to A那么你会得到另一种方法。我会推荐@Override当您打算覆盖时注释,

class A extends B {
    @Override
    public void don() { // <-- will not compile if don is private in B.
        System.out.println("hoho public");
    }
}

在这种情况下,为什么编译器不提供使用错误t.don()这是private?

Java 教程:预定义注释类型说(部分)

虽然重写方法时不需要使用此注释,但它有助于防止错误。如果一个方法标记为@Override如果无法正确重写其超类之一中的方法,编译器会生成错误。

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

重写java中的“私有”方法 的相关文章

  • Guice 忽略注入构造函数参数上的 @Nullable

    我正在使用 Guice v 3 0 并且有一个值被注入到构造函数中 该值可以为 null 因此我在构造函数中使用 Nullable 来自 javax annotations 注释了该参数 public MyClass Parameter1
  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • FileNotFoundException - Struts2 文件上传

    Strange FileNotFoundException使用Struts2上传文件时 这是 JSP 的一部分
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • 添加到列表时有没有办法避免循环?

    我想知道这样的代码 List
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 我们如何测试包私有类?

    我正在看书Effective Java in Item 13 Minimize the accessibility of classes and members 它提到 为了方便测试 您可能想让类 接口或成员更易于访问 这在某种程度上是好的
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级
  • try-with-resources 中出现死代码警告,但翻译后的 try-catch-finally 中没有出现死代码警告

    以下代码使用try 有资源 https docs oracle com javase specs jls se7 html jls 14 html jls 14 20 3Java 8 中引入的构造 偶尔抛出 方法被声明为抛出一个偶尔的异常

随机推荐

  • python requests.get() 返回一个空字符串

    当我运行下面的代码时 它返回一个空字符串 url http www allflicks net wp content themes responsive processing processing us php draw 5 columns
  • 使用 pandoc 将 markdown 转换为 pdf 时如何强制将图像转换为文本

    我制造了一个GitHub 维基百科 软件包手册 我想将其转换为精美的 pdf 手册 然而 我在处理图表时遇到了一些麻烦 其中许多图表都放在接下来的一页中 远远落后于文本中应有的位置 这使得文档非常难以阅读 为此 我基本上遵循了建议here
  • 检查输入是否为整数

    为了学习 C 我正在翻译我用 Python 编写的程序 我写了这个 n 0 while n lt 2 try n int raw input Please insert an integer bigger than 1 except Val
  • Java:计算三角形的面积

    import java lang Math import java awt public class Triangle implements Shape java awt Point a java awt Point b java awt
  • 如何在邮件服务器上的 HTML 电子邮件中嵌入图像?

    如何在 HTML 中嵌入图像 以便图像与 html 文件内容一起传递 而不需要单独访问服务器来检索图像 我们需要它在签名离开邮件服务器之前将公司徽标嵌入到签名中 我们不想使用雷鸟或 Outlook 等客户端解决方案来添加签名 thanks
  • Google 身份服务 - 保持登录状态

    我正在从 Google 登录平台库迁移到新的 Google 身份服务使用一键登录 但当用户刷新或转到其他页面时 网站会自动注销用户 这是加载一键登录的每个页面上都存在的代码 div div 删除它只会让用户退出 无法重新登录 有一个cook
  • Google App Engine - 如何扩展 db.IntegerProperty

    当我在整数和字符串之间交换很多时 我希望扩展 db IntegerProperty 以下是一些代码片段和我在应用程序启动器日志中收到的错误消息 有什么指点吗 谢谢 大卫 class FSIdProperty db IntegerProper
  • 仅 CSS 动画绘制具有边框半径和透明背景的圆

    我正在尝试绘制一个具有边框半径的圆 并为其设置动画 我可以做到这一点 但我不能做的是覆盖元素并将圆圈背景设置为透明 而不取消隐藏蒙版 我无法使其在元素上透明 因为需要应用遮罩来隐藏圆圈的左半部分 因为它旋转以模仿绘制效果 HTML div
  • Android Studio 构建失败,并显示“在根项目 'MyProject' 中未找到任务 ''”。

    在更换笔记本电脑并更新到 Android Studio 版本 0 8 2 后尝试构建项目时 我收到此错误 失败 构建失败并出现异常 什么地方出了错 在根项目 MyProject 中找不到任务 尝试 运行 gradle 任务以获取可用任务的列
  • 远程网络驱动程序上的 Chrome(通过网格)无法启动

    我在使用 Grid 上的远程 Webdriver 功能 1 个 Linux 集线器和 1 个带有 Firefox 和 Chrome 的 Linux 节点 启动 Chrome 的 Cucumber 测试时遇到问题 Firefox 测试进行得很
  • 使用 EaselJS 在 html5 画布中绘制一条线

    我对 Easel 和 HTML5 本身非常陌生 我正在尝试使用 EaselJS 在画布上画一条线 X 坐标固定为 100 Y 坐标从数组列表中获取 我编写的代码如下 有人可以让我知道我哪里出错了吗 function myFunction a
  • Android Wear-如何捕获触摸事件

    我想捕获Android Wear上的触摸事件 我使用的是Samsung Gear Live 来绘制触摸轨迹 我尝试捕获 onTouch 事件和 onGenericMotionEvent 事件 如以下代码所示 但是当我在屏幕上滑动时 该事件仅
  • 向 .NET 应用程序添加脚本功能

    我有一个用 C 编写的小游戏 它使用数据库作为后端 它是 A集换式卡牌游戏 我想以脚本的形式实现卡片的功能 我的意思是我本质上有一个界面 ICard 卡片类实现了 public class Card056 ICard 并且其中包含一个由游戏
  • ExecutorService 的线程安全静态初始化

    我正在尝试基于 Initialization on demandholder idiom 创建一个线程安全的单例类 这是我的代码 public class Check private Check private static class P
  • 如何获取查询字符串并在 htaccess 中重写它

    我有这样的疑问 example com folder q keyword 请建议如何将包含 关键字 作为参数的所有查询重定向到服务器上的其他文件 folder core index php id 1 I mean 1必须是keyword 这
  • Mac 操作系统不支持 Java 页面翻转?

    我希望有人之前偶然发现过以下问题 我的 Java 应用程序在 Mac 上存在图形性能问题 因此我制作了一个简单的测试应用程序 代码如下 当我在 Windows 上运行它时 控制台告诉我 图形配置翻转 真的BufferStrategy翻转 真
  • 模型保存骨干

    我正在在线数据库 Parse com 上保存模型 save 函数工作正常 但 save 内部的回调函数没有被调用 this utente save success function persona never called console
  • Angular 6 代理不再工作

    我有一个 Angular 应用程序和一个 Web API 为了在本地进行测试 我使用代理配置文件 proxy conf json api target host localhost protocol http port 50565 secu
  • 以编程方式将销售价格添加到产品变体中

    我需要以编程方式更新可变产品及其所有变体的销售价格 我需要添加什么样的元字段 我正在尝试更新主要产品 例如 update post meta post id regular price 100 update post meta post i
  • 重写java中的“私有”方法

    这个想法有些含糊不清 我需要一些澄清 我的问题是使用这段代码时 public class B private void don System out println hoho private public static void main