0

次のような構造があります。

class Foo{
    class Bar{ ... }
    private class Baz{ ... } 
}

FooBarアクセスする必要がありますがBazBazモジュールとそれをインポートする他のモジュールの両方に対して非公開のままにする必要があります。

質問:

  1. と に共有Bazする方法はFooありBarますか?」
  2. 必要なアクセスを許可するために使用できる他のクラス構造はありますか?
4

1 に答える 1

2

これを実現するためにクラスをネストする必要はありません。

class Foo {
    // entire module can access
}

class Bar {
    // entire module can access
}

private class Baz {
    // only objects in this file can access
}

ただし、型を入れ子にしたい場合は、を利用できますfileprivate

class Foo {
    class Bar {}
    fileprivate class Baz {}
} 
于 2021-12-20T00:20:05.237 に答える