プライベートインターフェイスのメソッドをコードでどのように使用できますか?プライベートインターフェイス
抽象クラスは、インスタンス化できないものです。したがって、抽象クラスのメソッドを使用する必要がある場合、それらを継承してそのメソッドを使用することができます。
しかし、インターフェイスについて言えば、それらのメソッドを使用するためにインターフェイスを実装する必要があります。
プライベートインターフェイスのメソッドをコードでどのように使用できますか?プライベートインターフェイス
抽象クラスは、インスタンス化できないものです。したがって、抽象クラスのメソッドを使用する必要がある場合、それらを継承してそのメソッドを使用することができます。
しかし、インターフェイスについて言えば、それらのメソッドを使用するためにインターフェイスを実装する必要があります。
private
キーワードは「同じクラスの誰を」意味:
public class Foo {
private interface X {...}
private class X1 implements X {...}
}
これはFoo
の内部で宣言されたすべてのクラスがインタフェースFoo.X
を使用できることを意味します。
command patternここで、Foo
は文字列を受け入れ、すべて同じインターフェイスを実装する内部コマンドオブジェクトに変換します。
ファイルFoo.java
に2番目のクラスBar
を追加すると、Foo.X
は表示されません。
あなたは、クラスの場合と同じようにプライベートインタフェースを拡張します。 このインターフェイスを可視領域の範囲外に実装することができます。
私はあなたの答えを理解することに問題があります。 'Foo.javaの内部で宣言されたすべてのクラスはFoo.X.というインターフェースを使うことができます。' 'Foo'クラスの外に' class Bar'のような別のクラスを作成して 'Foo.java'に作成すると' Foo X? – Pshemo
@Pshemo私は同じ疑いがありました。 – Ashima
@Pshemo:私は 'Bar'が' Foo.X'を使うことができると確信していましたが、そうではありません。私は答えを決めた。 –