为什么不能降低 Java 子类中方法的可见性?

2023-12-08

当您在子类中重写方法时降低方法的可见性时,为什么编译器会给出错误消息?


因为子类的每个实例仍然需要是基类的有效实例(请参阅里氏替换原则).

如果子类突然丢失了基类的一个属性(例如,即公共方法),那么它将不再是基类的有效替代品。

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

为什么不能降低 Java 子类中方法的可见性? 的相关文章

  • 在 catch 块中重新抛出异常是否有意义?

    从 catch 块中抛出异常只是为了记录消息以便我们确定导致异常的原因是否有意义 Code public void saveLogs Logs logs throws RemoteException try LogsOps saveLogs
  • 我们可以在java中放弃已经签名的jar吗?

    I ve a jar文件具有旧签名 并希望使用新签名重新签名 是否可以 如果可能的话 怎么做 如果签名不是您拥有的 您需要先解压 jar 像这样 假设是unix 否则翻译成dos jar xvf JarName jar rm rf META
  • JAVA_HOME环境变量和Java JDK趣事

    我想让 Java 在 1 6xxx 上运行 我更改了 JAVA HOME 变量并将其指向目录 C Program Files Java jdk1 6 0 16 我重新启动 PC 我想我可以检查我的机器指向哪个版本的 Java 但它仍然指向旧
  • 视频文件转换/转码 Google App Engine

    我想启动一个云计算项目 其简单任务是 接收上传的视频文件 对它们进行一些转码 转换 允许用户下载 流式传输生成的文件 我刚在想ffmpeg作为集成在的外部命令行工具Java Google App engine Application 由于很
  • Java JNDI 名称 java:/

    我正在遵循教程 https docs oracle com javase tutorial jndi index html https docs oracle com javase tutorial jndi index html 我的冒险
  • LibGDX 闪烁

    我已经使用 LibGDX UI 设置来启动一个项目 我在实现 ApplicationListener 中唯一拥有的是 public void create setScreen new LoadingScreen this 这应该会触发 Lo
  • 如何将点击侦听器添加到 Android/Java Textview 中的字符串中?

    我想要完成的是大多数 Twitter 应用程序中的标准操作 在文本视图中 文本字符串中的单词前面可能有 提及或 主题标签 并且它们实际上能够添加点击侦听器这个词启动了另一项活动 有谁知道这是如何实现的 下面我附上了一张示例照片 显示了我想要
  • SQLiteAssetHelper 甚至在从资产文件夹复制数据库之前就导致立即崩溃

    https github com jgilfelt android sqlite asset helper https github com jgilfelt android sqlite asset helper 我要从SQLiteOpe
  • 在仔细锁定但不受信任的代码上使用 Thread.stop()

    我知道Thread stop 已被弃用 并且有充分的理由 它通常不安全 但这并不意味着它是never安全 据我所知 在我想要使用它的上下文中它是安全的 而且 据我所知 我别无选择 上下文是一个两人策略游戏的第三方插件 以国际象棋为例 第三方
  • 我有什么理由应该嘲笑?

    我也是 Mockito 和 PowerMockito 的新手 我发现我无法使用纯 Mockito 测试静态方法 因此我需要使用 PowerMockito 对吗 我有一个非常简单的类 名为 Validate 使用这个非常简单的方法 publi
  • Java如何区分这些具有相同名称/签名的多个方法?

    今天我在追踪一个错误 我注意到我们的一个班级中有一些奇怪的事情 我删除了尽可能多的代码并发布在这里 class A static int obtainNumber return 42 static int obtainNumber retu
  • 如何将 .txt 文件的最后 5 行读入 java

    我有一个包含多个条目的文本文件 例如 hello there my name is JoeBloggs 我如何按降序阅读最后五个条目 即来自 JoeBloggs 那里 我目前有代码只能读取最后一行 public class TestLast
  • Spark java:如何处理多部分/表单数据输入?

    我在用spark http sparkjava com 开发网络应用程序 当我想上传文件时出现问题 public final class SparkTesting public static void main final String a
  • 如何在 Spring GCP 中订阅多个 Google PubSub 项目?

    我想在 Spring Boot 应用程序中订阅多个 Google Cloud PubSub 项目 阅读完相关问题后如何使用 Spring Cloud 在一个 Spring Boot 应用程序中连接 配置两个 pubsub gcp 项目 ht
  • Maven编译错误:包不存在

    我正在尝试向现有企业项目添加 Maven 支持 这是一个多模块项目 前 2 个模块编译和打包没有问题 但我面临编译错误 我尝试在多个模块中使用相同的依赖项 我的结构是 gt parent gt pom xml gt module 1 gt
  • 在Java中,为什么某些变量首先需要初始化,而其他变量只需要声明?

    我试图更深入地理解我是否遗漏了一些关于 Java 何时需要变量初始化与简单声明的理解 在以下代码中 不需要为变量 row 赋值即可编译和运行 但变量 column 则需要赋值 注意 该程序没有任何用处 它已被修剪为仅显示此问题所需的内容 以
  • 如何管理一个 JInternalFrame 调用另一个 JInternalFrame?

    我有一个带有此代码的 JDesktopPane public class Menu extends JFrame implements ActionListener Creates new form Portada public stati
  • 如何在java中进行多处理,以及预期的速度提升是多少?

    我是一个新手 使用 Java 对 csv 文件进行一些数据处理 为此 我使用 Java 的多线程功能 线程池 将 csv 文件批量导入到 Java 中 并对每一行执行一些操作 在我的四核处理器上 多线程大大加快了处理速度 我很想知道多处理如
  • 实体框架中的多态性

    具体类 BankAccount and CreditCard 在控制器上不可见 我被这个问题困扰了 我正在使用该网站的示例 http weblogs asp net manavi archive 2010 12 28 inheritance
  • 每次修改代码时都必须 mvn clean install

    我不是来自 Java 世界 但我必须为我的一个项目深入研究它 我不明白为什么每次修改或更新代码时 都必须 mvn clean install 来调试代码的最新版本 你知道为什么吗 尝试按Ctrl Shift F9 热插拔 有时会有所帮助

随机推荐

  • 高效的 HTML Div,其中有漏洞

    让我多解释一下 我试图拥有一个大区域 全屏 其中有一个固定大小的孔 该孔将跟随鼠标在屏幕上移动 想象一下 将范围集中在页面上 而页面的其余部分呈灰色 我需要它在所有浏览器 包括 IE 6 中有效地工作 我当前的解决方案使用 4 个 div
  • pthread_create 无法与 pthread_attr_setschedparam 一起正常工作

    我是线程编程的新手 所以我对这个看似愚蠢的问题表示歉意 我正在尝试使用 pthread attr t 使用 pthread create 创建 POSIX 线程 我正在尝试设置 sched priority 值并将其放入属性中 代码粘贴在下
  • 当连接到一个非常小的/空表时,为什么尽管我使用“LIMIT”,MySQL 仍进行完整扫描?

    编辑 我删除了GROUP BY示例查询中的子句 但同样的问题显示 当我将表 x 连接到空 1 行表 y 时 尽管我使用了限制 MySQL 对表 x 进行全表扫描 原问题 我试图学习如何优化 SQL 查询 但遇到了我无法理解的行为 有这样的模
  • 如何从一个表单刷新另一个表单?

    我有两种形式 form1 和 form2 我使用以下代码片段从 form1 调用 form2 Application run new Form2 Form2 f2 new Form2 f2 show 这段代码运行得非常好 我可以看到 for
  • 如何使用 javascript 将数据显示为 HTML

    我在使用 javascript 将数据显示为 HTML 时遇到问题 我创建的代码仅显示最新数据而不是整个数据 我在开发中使用phonegap 这是代码 var oldHtml document getElementById favorite
  • VBA:搜索子字符串并删除整行

    我正在尝试删除字符串中包含 H 的所有行P柱子 然而 该宏有效 每次只删除一半的必要行 这是因为For代码中的循环 当删除一行时 下一行将具有相同的内容i值作为删除的值 并被跳过Next i Dim LastRow As Long Find
  • 在 Windows 10 中设置环境变量以使用 java 和 javac

    我有一台装有 Windows 10 的新笔记本电脑 我想对其进行设置以便可以使用java and javac从命令行 我已经在网上搜索过 但所有指南都是针对以前的版本 我不想搞乱我不明白的东西 只需将环境变量中的path变量设置为JDK b
  • Swift 中的 CLLocation Manager 获取用户位置

    我正在尝试将 ObjC 中的旧应用程序转换为 Swift 作为练习 但遇到了一些问题 我在旧应用程序中的方式是建立 CLLocation Manager 然后我将使用 manager CLLocationManager alloc init
  • 如何在 MATLAB 中测量图像的旋转?

    我有两个图像 一个是原始的 另一个是旋转的 现在 我需要找出图像旋转的角度 到目前为止 我考虑过发现每种颜色的质心 因为我将使用的每个图像都有带有颜色的正方形 并用它来发现图像旋转了多少 但我失败了 我用它来发现图像中较高方块的质心和颜色
  • Webpack 的 stylus-loader 入门

    好吧 新的 我刚刚添加了我的stylus loader style loader 根据推荐stylus loader 和装载机 test styl loader style loader css loader stylus loader 到
  • Hibernate - 它会改变数据库的结构吗?

    我正在 Spring 上用 java 构建更大的项目 很多人建议我使用 hibernate 来简化对数据库的访问 问题是 我必须使用这个项目以前版本的数据库 它曾经是用 PHP 编写的 所以他们肯定没有使用 hibernate 我读过一些有
  • 为什么无法转换 Slice 类型?

    我想知道为什么你不能这样做 type Foo struct A int type Bar Foo foos Foo Foo 1 Foo 2 bars Bar foos cannot convert foos type Foo to type
  • HTTP 状态 500 实例化 servlet 类时出错 [重复]

    这个问题在这里已经有答案了 我正在编写一个 Web 应用程序并将其部署到 apache tomcat Web 容器 我遵循一个简单的教程http cse csusb edu turner java web programming servl
  • 使 div 跨越网格中的两行

    我有一页充满了块 其中堆积着display inline block 我想让一些大四到两倍 所以我用了float left or right放置其他块 我的问题是如果我有五元素行 我怎样才能放一个更大的元素在中间它的 作为float自然地放
  • 更新路径“x”会在“x”处产生冲突

    当我尝试更新 upsert 项目时发生此错误 Updating the path x would create a conflict at x 字段应出现在 set or in setOnInsert 两者都没有
  • 在 Xcode 4 中重命名项目

    我一定错过了一些明显的东西 但我不知道如何在 Xcode 4 中重命名我的项目 如果我没记错的话 Xcode 3 有一个专门的菜单项 但 Xcode 4 中没有这样的条目 好吧 事实证明这确实是一件小事 您所需要做的就是点击两次slowly
  • 如何根据负载在kubernetes中自动缩放elasticsearch?

    我正在使用 Google Cloud 正在做 RnD 是否可以申请HPAKubernetes 中 Elasticsearch 上的 水平 Pod 自动缩放 I did elasticsearch设置于Kubernetes https git
  • 如何在 Windows 上的 Anaconda Python 中安装 Keras 和 Theano?

    我正在尝试使用以下 Keras 包在 Python 中处理神经网络 from keras utils import np utils from keras layers core import Dense Activation Dropou
  • 通用方法不适用于“int”类型变量?

    我在使用两个变量时遇到了一些麻烦 int 和 Integer 它们大致相同 但是 如下面的代码所示 它们的行为并不总是相同 这是我的问题 这段代码运行得非常完美 我创建了一个通用方法 printArray 它需要任何类型变量的数组 因为它是
  • 为什么不能降低 Java 子类中方法的可见性?

    当您在子类中重写方法时降低方法的可见性时 为什么编译器会给出错误消息 因为子类的每个实例仍然需要是基类的有效实例 请参阅里氏替换原则 如果子类突然丢失了基类的一个属性 例如 即公共方法 那么它将不再是基类的有效替代品