JDK 文檔中出現 Enclosing interface,機器翻譯為「正在封閉的接口」,實際含義是外部接口 / 包含接口。
// java.util.Map 內部接口
public interface Entry {
// ...
}
// 文檔顯示:Enclosing interface: Map
Entry 是 Map 的內部接口 (Nested Interface)Map 就是 Entry 的 Enclosing Interface (外部接口/包含接口)| JDK 術語 | 正確中文 | 錯誤機翻 | 含義 |
|---|---|---|---|
| Enclosing class | 外部類 / 包含類 | 正在封閉的類 | 內部類所在的外部類 |
| Enclosing method | 外部方法 / 包含方法 | 正在封閉的方法 | 局部類/匿名類所在的方法 |
| Enclosing constructor | 外部構造函數 | 正在封閉的構造函數 | 構造函數內部定義的類 |
| Enclosing interface | 外部接口 / 包含接口 | 正在封閉的接口 | 接口內部定義的接口/類 |
public interface Map { // ← Enclosing Interface
interface Entry { // ← Nested Interface (內部接口)
K getKey();
V getValue();
V setValue(V value);
}
// 其他內部類型同理
interface Map.Entry { ... } // 靜態內部接口
class Values extends AbstractCollection { ... } // 內部類
}
Map → EntryEntry.class.getEnclosingClass() → Map.classEnclosing = 包含/外部,非動作進行時。機器翻譯不懂語法上下文,將分詞誤識為動詞進行式。看到此類術語,腦內自動替換為「外部XXX」即可。