圍繞Android API來源進行訪問。有一個數據成員descriptor
是FileDescriptor
有沒有訪問修飾符:以Java訪問軟件包專用字段
int descriptor;
再就是類FileOutputStream
是構造一個新的FileDescriptor並分配到該字段:
fd = new FileDescriptor();
fd.descriptor = fileSystem.open(...);
如何是與現場的訪問控制兼容Java的模型?我認爲package-private字段不能從聲明類外部訪問,並且沒有像C++那樣的友誼概念。
在這種情況下什麼構成一個包?命名空間java.io中的所有類?或者'java.io'中的所有類都在同一個編譯單元中? –
「名稱空間」java.io構成一個包,所以'java.io'的寬度將具有「包級」訪問權限。 – NominSim
因此,如果我在'java.io'中聲明瞭一個類,那麼''I',API消費者可以在該字段周圍戳動?聽起來像一個非常野外突破封裝給我。 –