1

2つのクラスがあり、2番目のクラスで1番目のクラスのプライベートデータにアクセスしたいと思います。

通常、私は持っているでしょう:

public class GenericDictionary<T> implements GenericDictionary_interface<T> {

public class Iterator<T> extends GenericDictionary<T> {

しかし、私はインターフェースを持っています、私はそれらがどのように機能するかを正確に知りません、時々それらは必要ではないようです。

public class Iterator<T> implements Iterator_interface<T> {

別のクラスを拡張してインターフェイスを作成するにはどうすればよいですか?インターフェイスは必要ありませんか?私のIterator<T>クラスのインターフェースは夕食のインターフェースにあるべきですか?もしそうなら...どのように?

PS私がやっていることをなぜやっているのかについて私に講義しないでください(別名、java.util。*のものを使用する代わりに自分のものを作る)

編集:私は内部クラスを使用することにしましたが、私の質問に対する答えは、拡張と実装の順序です。ありがとうございます。

4

3 に答える 3

2

別のクラスを拡張してインターフェイスを持つにはどうすればよいですか?

最初にextends、次にimplements:

public class Iterator<T>
    extends GenericDictionary<T>
    implements Iterator_interface<T>
{

たとえば、JDK では、次のjava.util.ArrayListように指定されます。

public class ArrayList<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable

(その Javadocを参照してください。)

于 2012-11-04T15:06:51.680 に答える
1

How can I extend another class and have an interface ?つまり、インターフェイスを実装しながらクラスが別のクラスをどのように拡張できるかということです。

   public class Iterator<T> extends anotherClass implements Iterator_interface<T> {

同じ動作をするが動作がわずかに異なる 2 つ以上のクラスがある場合は、インターフェイスを使用します。

于 2012-11-04T15:08:02.957 に答える
1

別のクラスが最初のプライベート データにアクセスする場合は、それを内部クラスにすることができます。外部クラスのプライベート メンバーにアクセスできるようになります。継承とは、プログラミングの世界で現実世界の問題を反映する Iterator extends GenericDictionaryことであり、通常行われることではありません。インターフェイスの場合、制限が最も少なく、どこでも使用できます。

于 2012-11-04T15:17:37.143 に答える