当前位置: 首页 > 面试题库 >

何时在Java中将内部类用于帮助程序类

厉念
2023-03-14
问题内容

例如,如果我有一个带有帮助器类的类来执行其某些功能,那么使其成为内部类是否有意义。

    public class Foo {
       private FooHelper helper;

       // constructor & any other logic

       public void doSomeThing() {
         helper.do();
       }
    }

    public class FooHelper {
        public void do() {
         // code
        }
    }

在上述情况下,将in FooHelper作为内部类有意义吗?道歉,如果这听起来很愚蠢,但我对用例不感到困惑。


问题答案:

是的,使其成为内部类非常有意义。如果没有其他类需要它,请将其设为私有。如果不需要独占访问外部类的成员,请使其成为静态嵌套类,因为这样将需要较少的内存空间。

查看官方教程中的建议-

如果您需要访问封闭实例的非公共字段和方法,请使用非静态嵌套类(或内部类)。如果您不需要此访问,请使用静态嵌套类。



 类似资料:
  • 问题内容: 我真的不了解该API应该如何工作,因为我以前从未使用过JSON。 该文档没有给出任何示例,但是它说该API的端点同时支持POST和GET操作,并返回JSON。 我的问题是,我不确定如何实现此功能,假设我只想将所有数据提取到一个简单的页面中,例如: 城市: 塞勒姆 邮政编码: 97302 等等… 我不太确定从哪里开始: POST http:// [您的RepMan主机名] /api/v1

  • 我补充说 到全球。类加载器::addDirectories数组中的php。应用程序内/类/帮助程序/Url。我有: 我认为: 这在本地可以正常工作,但在我的服务器上,我得到一个错误:找不到类'Helpers\URL'。我试着通过这些步骤,但也没有成功。有什么想法吗?

  • 本文向大家介绍winforms 使用帮助类显示帮助,包括了winforms 使用帮助类显示帮助的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍Java如何基于ProcessBuilder类调用外部程序,包括了Java如何基于ProcessBuilder类调用外部程序的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Java如何基于ProcessBuilder类调用外部程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. demo1 2. demo02 以上就

  • 问题内容: 可以访问MATLAB内部Java代码的某些位来以编程方式更改MATLAB本身。例如,您可以使用以下命令在编辑器中以编程方式打开文档 您可以使用查看方法签名(但看不到它们的作用)。 关于使用这些Java方法,我有一些相关的问题。 首先,是否有关于这些东西的文档(来自Mathworks或其他)? 其次,您如何找出可用的方法?我遇到的问题似乎包含在matlabroot \ java \ ja

  • 问题内容: 如果我有一个内部类的实例,如何 从不在内部类中的代码 访问外部 类 ?我知道在内部类中,我可以用来获取外部类,但是我找不到任何外部方式来获取此类。 例如: 问题答案: 该类的字节码将包含一个名为type 的包作用域。这就是用Java实现非静态内部类的方式,因为在字节码级别上没有内部类的概念。 如果您确实愿意,您应该能够使用反射来读取该字段。我从来不需要这样做,因此最好更改设计以使其不再