外部文件中的嵌套/内部类

2024-02-06

我有课MyClass和一个内部类MyNestedClass像这样:

public class MyClass {
  ...
  public class MyNestedClass {
    ...
  }
}

两堂课的时间都很长。因此,我想将它们分成两个不同的文件,而不破坏层次结构。这是因为嵌套类对于使用 MyClass 的程序员来说不应该是可见的。

有办法实现吗?


您可以将内部类包设为私有,这意味着它只能从完全相同的包中的其他类访问。对于标准 JDK 包中的隐藏类也经常这样做,例如java.lang or java.util.

在 pkg/MyClass.java 中

public class MyClass {
  ...
}

在 pkg/MyHiddenClass.java 中

class MyHiddenClass {

  final MyClass outer;

  MyHiddenClass( MyClass outer )
  {
      this.outer = outer;
  }
  ...
}

现在,当您想访问外部类的方法或变量时,您需要在它们前面加上前缀outer.但是当编译器综合创建对外部实例的引用时,您获得的功能与以前基本相同。

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

外部文件中的嵌套/内部类 的相关文章

  • 插入最大日期(独立于数据库)

    在我的本地设置中 我使用一个简单的 H2 数据库 托管 解决方案将有另一个 类似但不相同 数据库 我需要将最大可能日期插入到日期时间列中 我尝试使用 Instant MAX 但是 这会导致列中出现 169104626 12 11 20 08
  • SAML 服务提供商 Spring Security

    当使用预先配置的服务提供者元数据时 在 Spring Security 中 是否应该有 2 个用于扩展元数据委托的 bean 定义 一份用于 IDP 元数据 一份用于 SP 元数据
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • Java AES 128 加密方式与 openssl 不同

    我们遇到了一种奇怪的情况 即我们在 Java 中使用的加密方法会向 openssl 生成不同的输出 尽管它们在配置上看起来相同 使用相同的键和 IV 文本 敏捷的棕色狐狸跳过了懒狗 加密为 Base64 字符串 openssl A8cMRI
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • Cassandra java驱动程序协议版本和连接限制不匹配

    我使用的java驱动程序版本 2 1 4卡桑德拉版本 dsc cassandra 2 1 10cql 的输出给出以下内容 cqlsh 5 0 1 Cassandra 2 1 10 CQL spec 3 2 1 Native protocol
  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • 使用 AES SecretKey 的 Java KeyStore setEntry()

    我目前正在 Java 中开发一个密钥处理类 特别是使用 KeyStore 我正在尝试使用 AES 实例生成 SecretKey 然后使用 setEntry 方法将其放入 KeyStore 中 我已经包含了代码的相关部分 The KS Obj
  • 匿名类上的 NotSerializedException

    我有一个用于过滤项目的界面 public interface KeyValFilter extends Serializable public static final long serialVersionUID 7069537470113
  • 在 Netbeans 8 上配置 JBoss EAP 的问题

    我已经下载了 JBoss EAP 7 并正在 Netbeans 8 上配置它 我已经到达向导 实例属性 其中要求从选择框中选择 域 当我打开选择框时 它是空的 没有什么可以选择的 因此 完成 按钮也处于非活动状态 这使得无法完成配置 我通过
  • 将 SignedHash 插入 PDF 中以进行外部签名过程 -workingSample

    遵循电子书第 4 3 3 节 PDF 文档的数字签名 https jira nuxeo com secure attachment 49931 digitalsignatures20130304 pdf 我正在尝试创建一个工作示例 其中 客
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 欧洲中部时间 14 日 3 月 30 日星期五 00:00:00 至 日/月/年

    我尝试解析格式日期Fri Mar 30 00 00 00 CET 14至 日 月 年 这是我的代码 SimpleDateFormat formatter new SimpleDateFormat dd MM yyyy System out
  • 在 Spring 中重构这个的最佳方法?

    private final ExecutorService executorParsers Executors newFixedThreadPool 10 public void parse List
  • Java中的Object类是什么?

    什么是或什么类型private Object obj Object http download oracle com javase 6 docs api java lang Object html是Java继承层次结构中每个类的最终祖先 从
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 为什么这个作业不起作用?

    我有课Results which extends ArrayList
  • 如何从 Maven 存储库引用本机 DLL?

    如果 JAR 附带 Maven 存储库中的本机 DLL 我需要在 pom xml 中放入什么才能将该 DLL 放入打包中 更具体地举个例子Jacob http search maven org artifactdetails 7Cnet s

随机推荐

  • MacOSX 10.9.5 上的 Sed 错误“\1 未在 RE 中定义”

    我正在尝试使用 bash 为我的 MP3 文件名 非常重要 构建一个通用格式化程序 其中很大一部分是能够使用正则表达式变量移动文本 例如 我试图删除 ft Kevin Parker 周围的括号 oldfilename Mark Ronson
  • Sidekiq:是否可以“暂停”队列?

    是否可以 暂停 sidekiq 队列 我正在运行下载作业 但我必须让我的 Mac 运行 休眠 所以我想告诉 sidekiq 暂停一下 有没有一种简单的方法可以做到这一点 您无法中途停止作业 如果您想停止处理队列中的新作业 这是 Sideki
  • Android中的可分包和继承

    我得到了一个适用于不涉及继承的单个类的 Parcelable 实现 在继承方面 我无法找出实现接口的最佳方法 假设我得到了这个 public abstract class A private int a protected A int a
  • 如何使用java获取BIOS信息?

    请告诉我是否可以使用 java 程序获取 BIOS 设置信息 我使用 Windows 7 作为操作系统 这取决于您要阅读的信息 Java 无法读取 BIOS 但 java 可以查询 WMI google for jWMI 这可能会获取您需要
  • 在 Excel 中拆分和分组值

    Hi I have a column of values which has different suffix after a dot i need it to group it based on the value after dot E
  • 类型错误:无法重新定义属性:tap

    每当我尝试运行时我都会收到此错误npm run dev webpack cli TypeError Cannot redefine property tap at Function defineProperty
  • 数组声明中的 PHP 扩展语法

    PHP 支持扩展语法可变参数函数 http php net manual en functions arguments php functions variable arg list 在 JavaScript 中 您可以使用扩展语法来执行以
  • 丑数 - dp 的数学直觉

    我正在尝试找到 丑陋 的数字 这是一系列唯一质因数为 2 3 5 的数字 我找到了动态规划解决方案 并想了解它是如何工作的以及逻辑背后的数学直觉是什么 该算法是为 2 3 和 5 的倍数保留三个不同的计数器变量 让我们假设 i2 i3 和
  • 将峰度应用于 python 中的分布

    我有一个数据集 其格式为 频率 方向 归一化功率谱密度 扩展 偏度 峰度 我可以使用顶部答案中的代码可视化特定记录的分布scipy 中的偏斜正态分布 https stackoverflow com a 5885349 1135883但我不确
  • YAML:具有空值的字典

    如何在 YAML 中编写一个字典 映射 其中一个键将空字符串作为其值 key 被解析为 null YAML 1 1 map str key null null 正确答案是 key
  • 警告:尝试多次加载角度...因为 jQuery...为什么?

    我试图了解这里发生了什么事 该警告是不言自明的 我意识到在应用程序中 使用下面的代码和结构 它运行 ng view 两次 测试 将在控制台中记录两次 所以角度当然会加载两次 但为什么 我已经阅读了我能找到的所有关于它的文章 它似乎归结为 j
  • GetExternalLoginInfoAsync null 与ExternalLoginCallback 中的OWIN 除非已经登录到google

    我一直在尝试使用 Google 帐户在 MVC5 应用程序中使用 OWIN 实现外部登录 如果我已经登录谷歌 点击我的应用程序中的谷歌按钮就可以了 在允许我访问登录信息后 它会将我带到我的注册页面 如果我在单击我的应用程序 google 按
  • Keras cifar10 示例验证和测试损失低于训练损失

    我正在使用 Keras 的 cifar10 示例 你可以找到它here https github com fchollet keras blob master examples cifar10 cnn py 我已经重新创建了模型 即 不是相
  • Android Studio 错误“支持的最低 Gradle 版本是 7.0.2。当前版本是 6.8。”

    我下载 6 8 版本和最新版本的 Gradle 后出现错误 评估项目 launcher 时出现问题 我需要做什么 I m attaching more details in the added pictures 错误 支持的最低 Gradl
  • ESLint规则开发过程中如何调试

    我有 C 背景 因此在 Visual Studio 中按 F5 并获得了美妙的调试体验 这让我很开心 我想进入 OSS 并且当我使用 ESLint 时 我经常想尝试回馈 我已经关注了http eslint org docs develope
  • 新的 Pandoc distrib = 松散交叉引用(RMarkdown - knitr - Bookdown - thesisdown - R)

    使用 knit 和 bookdown yaml 将一堆 Rmd 文件导出到单个 doc 文件时 我丢失了一些交叉引用 方法是thesisdown thesis word 我安装新版本的 Pandoc 后立即出现了丢失引用的问题 也许我在 P
  • Oracle从plsql调用java时如何导入缺失的java类

    我正在尝试逐步编写一个 java 函数 该函数可以采用 Oracle XML BI Publisher Report 不是商业智能中使用的 BI Publisher 而是 Oracle 应用程序使用的 XML Publisher 功能 并以
  • Python 获取选定的文本

    我如何使用 Python 捕获 用户在 Web 浏览器中选择的文本 该脚本将在后台闲置 当按下某个组合键时 它会 获取 用户选择的文本 想想复制和粘贴 只是它复制到我的应用程序而不是剪贴板 谢谢 我想指出的是 这适用于 Mac Instal
  • 当应用程序外部数据库上的数据发生更改时,如何刷新 React Redux 应用程序

    场景 数据库中某些表的数据更改 例如使用从另一个进程上传的文件 例如不属于react redux应用程序的ETL工具 那么我们如何刷新react redux应用程序组件呢 Web 套接字是唯一将这种更改从服务器推送到客户端的方法吗 或者我们
  • 外部文件中的嵌套/内部类

    我有课MyClass和一个内部类MyNestedClass像这样 public class MyClass public class MyNestedClass 两堂课的时间都很长 因此 我想将它们分成两个不同的文件 而不破坏层次结构 这是