什么是辅助类?

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

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

编辑2:

以下是需要它的人的编译器警告:

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

如此处的Java规范所述,您可以在一个.java文件中指定多个类。 名称与.java文件名匹配的类将是可以声明为public且对其他类可见的主类。 因此,文件中的所有其他类都是“auxilary”类。 Auxilary类不能被声明为public(并且正如@trashgod所指出的那样)因此它们只能通过包私有访问来声明。 例如,对于AClass.java文件:

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

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

然而,使用auxilary类被认为是非常糟糕的风格和反对Java Code Convention 。 如果确实需要,请使用单独或内部类。

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

据我所知,辅助class不是任何官方或技术的东西。 有人可能会将类描述为辅助,如果它正在解决第二个问题,或者其他什么,但编译器不知道辅助类是什么,我也不知道。

通常,如果您有来自计算机的错误消息,请将它们完整地粘贴 。 如果您认为编译器对辅助类感到不安,请粘贴错误消息:其他人将能够理解它,而目前它正在通过某种混淆进行过滤,这使您认为辅助类是真实的!