根據JLS,只要文件中只有一個類是公共的,在一個文件中就有多個類是有效的語法。據我瞭解,這通常是爲了讓只在單個文件中引用的小類在該文件中被維護。如果文件中有多個包專用類,它們是否可以從包中的其他文件引用?
我不確定的一個方面是,如果同一個包中的其他文件能夠安全地引用原始文件中的第二個類 - 通過範圍規則它看起來有效,但我不確定是否編譯時出現問題。我已經看到它的工作頻率很高,但項目的其他開發人員也告訴我,在系統中的其他地方進行更改後,偶爾會出現構建問題,發現有問題的符號。這種設置是指引用嵌入在其他類文件中的包私有類,將某種排序的編譯順序依賴性引入到使構建易碎的過程中?