三个.class文件：这些类名全是合法的（因为$符号允许用于JVM规范）并且这些名字对编译器的产生来说是“安全”的，因为Java语言的定义禁止$符号出现在常规的Java类定义中。Java的名字解析在运行时更为复杂，因为完全合格的类名在特定的Java类加载器的实例中是唯一的。类加载器是分级次序的，并且JVM的每个编程都有一个所谓的上下文类加载器，用来预防两个不同的类加载器实例包含同名的类。系统首先尝试使用根加载器（或系统加载器）来加载类，然后往下针对上下文类加载器分级加载。
J