1

誰かがこれで私を正しい方向に導いてくれることを願っています。2 つの Dog オブジェクトを作成し、それらを MyPets オブジェクトに myFirstPet および mySecondPet として追加する必要があります。Comparable インターフェイスを実装する Animal、Dog、Greyhound などの複数のクラスと MyPets(ジェネリック クラス)があります。

MyPets クラス:

public class MyPets<T> {

    private T myFirstPet;
    private T mySecondPet;

    public void setMyFirstPet(T myFirstPet) {
        this.myFirstPet = myFirstPet;
    }

    public void setMySecondPet(T mySecondPet) {
        this.mySecondPet = mySecondPet;
    }

    public T getMyFirstPet(){
        return myFirstPet;
    }

    public T getMySecondPet(){
        return mySecondPet;
    }

    @Override
    public String toString() {
        return "My first pet " + myFirstPet + ", my second pet "
                + mySecondPet;
    }
}

メインを持つ TestClass クラス:

public class TestClass {

    public static void main(String[] args) {

        MyPets<Dog> dog = new MyPets();
        MyPets<Dog> doggie = new MyPets();

    }
}

2 つの犬オブジェクトを myFirstPet と mySecondPet として MyPets オブジェクトに追加するために、ここで何をする必要があるかはわかりません。また、Dog オブジェクトを適切に作成したかどうかもわかりません。

4

4 に答える 4

0

ジェネリック構文で迷子になっているようです。オブジェクトとオブジェクトの違いを(概念的に)分離する必要があります。MyPets<Dog>Dog

あなたのタスクは、2 つのオブジェクトを作成Dogし、それらを 1 つのオブジェクトに追加することMyPets<Dog>です。MyPets上記のコードは 2 つのオブジェクトを作成しますが、オブジェクトは作成しませんDog。さらに、あなたが書いた関数 (など) を使用しません。setMyFirstPet多くの場合、このようなサインイン割り当てでは、ロジックにステップがありません。

あなたのmainメソッドがどのように見えるべきか (抽象的には、あなたのために仕事をすることを避けるため) は次のようなものです:

  • オブジェクトを作成しMyPets<Dog>ます。
  • Dog2 つのオブジェクトを作成します。
  • メソッドを使用して、両方Dogのオブジェクトをオブジェクトに追加します。MyPetssetMy[First/Second]Pet
于 2013-10-28T17:19:24.833 に答える
0

テストは次のようにする必要があります。

    public class TestClass {

        public static void main(String[] args) {

            MyPets<Dog> pets = new MyPets();
            Dog first = new Dog();
            Dog second = new Dog();
            pets.setMyFirstPet(first);
            pets.setMySecondPet(second);

        }
    }
于 2013-10-28T17:13:31.703 に答える