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

什么是辅助课程?

阚通
2023-03-14
问题内容

我知道这些问题听起来很愚蠢,但是在Java中,什么是辅助类,有人怎么写一个,以及编译器如何知道某种东西是辅助类?

编辑:我问这是因为编译器正在生成有关外部库中对象的警告,我想知道原因。

编辑2:

这是针对那些想要的人的编译器警告:

warning: auxiliary class Pattern in jregex/Pattern.java should not be accessed from outside its own source file

问题答案:

正如Java规范descried
在这里,你可以在一个java文件指定多个类。名称与.java文件名匹配的类将成为主要类,可以将其声明为公共类,并且对其他类可见。因此,文件中的所有其他类都是“辅助”类。辅助类不能被声明为公共类(如@trashgod正确指出的那样),因此只能通过程序包私有访问来声明它们。例如AClass.java文件:

public class AClass {
    private AuxilaryClass a;
}
class AuxilaryClass {
    private int b;
}

AuxilaryClass类不能为公共类,并且在此AClass.java文件之外不可见。

但是,使用辅助类被认为是非常糟糕的样式,并且违反Java Code
Convention
。如果确实需要,请使用单独的或内部的类。

编辑:术语“辅助”不是Oracle /
Sun官方术语。它已在以下位置引入(或使用):http :
//www.youtube.com/watch?v=miTM9rY3He0和/或此处:http
:
//doc.sumy.ua/prog/java/langref/ch05_03.htm



 类似资料:
  • 问题内容: 我遇到过几次被称为辅助对象的人…谁能详细说明这些辅助对象是什么,为什么我们需要它们? 问题答案: 几个类共有的一些操作可以移到辅助类,然后通过对象组合使用: 可以通过多种方式使用帮助程序类: 直接实例化它们(如上所述) 通过依赖注入 通过制作它们的方法并以静态方式访问它们,例如关闭所有抛出异常的方法。 至少我的约定是只使用静态方法而不是依赖项来命名类,而具有依赖项的类/需要由DI容器进

  • 我目前正在我的应用程序中使用Guice。然而,我发现自己大多使用辅助注入,因为有一个注入对象链,它们都依赖于程序的输入。因此几乎所有的东西都是辅助注射的。 例如,A需要B,B需要c,c需要Z,Z需要来自命令行的输入。最后我感觉一切都将被辅助注射。因此,鉴于我坚持使用它,我想确定我使用它是正确的。 我个人觉得写我自己的工厂也一样好。此外,除了同样的优点之外,我还可以进一步将我所讨论的对象的创建限制在

  • Hyperf 提供了大量便捷的辅助类,这里会列出一些常用的好用的,不会列举所有,可自行查看 hyperf/utils 组件的代码获得更多信息。 协程辅助类 Hyperf\Utils\Coroutine 该辅助类用于协助进行协程相关的判断或操作。 id(): int 通过静态方法 id() 获得当前所处的 协程 ID,如当前不处于协程环境下,则返回 -1。 create(callable $call

  • tidyselect包提供了一个选择帮助函数。用于使用自定义函数选择数据帧列。它是tidyselect的内部函数。这意味着不会加载到您的命名空间中,您只能通过调用它。 然而,我从dplyr vignettes中看到了以下示例:列操作。 在本例中,不带前缀“tidyselect:::”,但很明显,代码中没有错误,它会产生有意义的结果。这对我来说很奇怪。我想知道为什么代码能正常工作。 我猜是因为“代码

  • 主要内容:文本,背景,其他,更多实例,实例,实例,实例,实例,实例,实例,实例本章将讨论 Bootstrap 中的一些可能会派上用场的辅助类。 文本 以下不同的类展示了不同的文本颜色。如果文本是个链接鼠标移动到文本上会变暗: 类 描述 实例 .text-muted "text-muted" 类的文本样式 尝试一下 .text-primary "text-primary" 类的文本样式 尝试一下 .text-success "text-success" 类的文本样式 尝试一下

  • 简介 Laravel 包含各种各样的全局「辅助」PHP 函数,框架本身也大量地使用了这些功能;如果你觉得方便,你可以在你的应用中自由的使用它们。 可用方法 数组 & 对象 array_add array_collapse array_divide array_dot array_except array_first array_flatten array_forget array_get arra