あるクラスのメソッドを使用して、Javaで別のインスタンスを作成するにはどうすればよいですか?

タイラー・ダー

2つのクラスがあります。1つは計算オブジェクト(Cyber​​Pet.java)で、もう1つは計算オブジェクト(TestCyber​​Pet.java)をテストします。TestCyber​​Petには、ユーザー入力を使用してCyber​​Petのインスタンスをインスタンス化するcreatePet()というメソッドがあります。私はすでにやった

CyberPet pet3 = null;

これはcreatePet()です:

   private static CyberPet createPet()
   {
        /*** Local variables ***/

        Scanner scanner = new Scanner( System.in );

        final String formatString = "%22s: ";

        String name;
        String size;
        String activity;

        /*** Get user input ***/

        System.out.println();
        System.out.printf( formatString, "Enter your pet's name" );
        name = scanner.nextLine().trim();

        System.out.println();
        System.out.printf( formatString, "Enter your pet's size (big or small)" );
        size = scanner.nextLine().trim().toLowerCase();

        System.out.println();
        System.out.printf( formatString, "Enter your pet's current activity (eating, sleeping, or thinking)" );
        activity = scanner.nextLine().trim().toLowerCase();

        /*** Validate input, notify user of errors ***/

        if ( name.length() == 0 )
        {
            System.out.println( "   Invalid input. Name cannot be blank." );
            name = CyberPet.DEFAULT_NAME;
        }

        // else leave as entered string

        if ( size == "big" || size == "small" )
        {
            System.out.println( "   Invalid input. Size must be either big or small." );
            size = CyberPet.DEFAULT_SIZE;
        }

        // else leave as entered string

        if ( activity == "eating" || activity == "sleeping" || activity == "thinking" )
        {
            System.out.println( "   Invalid input. Activity must be eating, sleeping, or thinking." );
            activity = CyberPet.DEFAULT_ACTIVITY;
        }

        // else leave as entered string

        /*** Create cyberpet ***/

        CyberPet pet = new CyberPet( name, size, activity );
        return pet;
    }

私がこれをやろうとするまで、私はそれを機能させています(私は思います!)

pet3.createPet();

createPetはCyber​​Petクラスに含まれていないためです。createPetを使用してCyber​​Petのインスタンスを作成するにはどうすればよいですか?

ここに十分な情報を入れていただければ幸いです...これはStackOverflowでの最初の投稿なので、さらに何かを追加する必要がある場合は、教えてください。:)

クリストファー

さて、あなたはこれらのクラスがどうあるべきかについて少し混乱した理解を持っているようです。

テストオブジェクトを作成している場合は、ユーザー入力は必要ありません。既知の値を使用する必要があります。それはより速く、同じ目的を果たします。次に、private staticメソッドにアクセスする場合は、クラス内からアクセスする必要があります。次の方法でアクセスできます。

TestCyberPet.createPet();

これにより、タイプのインスタンスが返されますCyberPet

注意

  • まず、JUnitのようなテストフレームワークを調べる必要がありますこれにより、テストプロセスが自動化され、この種のテストを簡単に作成できるようになります。

  • 次に、OOPに関する知識を修正します。クラスの外部で、クラスのユーザー入力の検証を実行しないでください。クラス自体だけが必要なものを知っている必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

typescriptのクラスからインスタンスメソッドを除外するタイプを作成するにはどうすればよいですか?

分類Dev

メソッドが属する同じクラスのインスタンスを作成するにはどうすればよいですか?

分類Dev

discord.py rewriteのクラスのメソッドを使用してコマンドを作成するにはどうすればよいですか?

分類Dev

別のクラスのメソッドのパラメーターとして変数を使用するにはどうすればよいですか?

分類Dev

クラスインスタンスの非静的比較メソッドでpriority_queueを使用するにはどうすればよいですか?

分類Dev

D:\ abstractクラスに任意のパラメーターを使用して必要なメソッドを作成するにはどうすればよいですか?

分類Dev

メソッドを作成して別のクラスで使用するにはどうすればよいですか?

分類Dev

別のクラスの別のインスタンスメソッドでインスタンスメソッドを参照するにはどうすればよいですか?

分類Dev

同じクラスの別のメソッドでコンストラクターの状態を更新するにはどうすればよいですか?

分類Dev

別のクラス内に存在するクラスの新しいインスタンスを作成するにはどうすればよいですか?

分類Dev

クラスメソッドで別のクラスインスタンスを呼び出すにはどうすればよいですか?

分類Dev

あるクラスのオブジェクトを別のクラスのメソッドで使用するにはどうすればよいですか?

分類Dev

Typescriptで、イベントハンドラーとして呼び出される同じクラスの別のメソッドからクラスメソッドを呼び出すにはどうすればよいですか?

分類Dev

Pythonの `super()`からインスタンスメソッドの次の行の親クラスを取得するにはどうすればよいですか?

分類Dev

TSでプロトタイプメソッドを使用してクラスのインターフェイスを作成するにはどうすればよいですか?

分類Dev

インターフェイスで静的メソッドを使用して、インスタンス メソッドによって返されるジェネリック インスタンスを返すにはどうすればよいですか?

分類Dev

クラスでメソッドを作成し、別のクラスで変数を操作するにはどうすればよいですか?

分類Dev

メインクラスの2つの変数を評価するメソッドを作成するにはどうすればよいですか?

分類Dev

あるリストの各要素を別のリストのインデックスとして使用するにはどうすればよいですか?

分類Dev

Javaで、あるクラスのコンストラクターを別のクラスのオブジェクトへのパラメーターとして使用するにはどうすればよいですか?

分類Dev

SQLAlchemyを使用して、クラスの他のインスタンスのリストであるクラスのフィールドを作成するにはどうすればよいですか?

分類Dev

内部で他のインスタンスメソッドを使用する外部ライブラリのインスタンスメソッドにモンキーパッチを適用するにはどうすればよいですか?

分類Dev

Scannerクラスを使用してユーザーの入力を登録するメソッドを作成するにはどうすればよいですか?

分類Dev

クラスプロトタイプまたは酵素ラッパーインスタンスを介してreactコンポーネントのメソッドを正しくスパイするにはどうすればよいですか?

分類Dev

AngularJS:新しく作成された$ resourceインスタンスの$ save()httpメソッドを変更するにはどうすればよいですか?

分類Dev

Javaで、オーバーライドするクラスのインスタンスからオーバーライドされるクラスのメソッドを呼び出すにはどうすればよいですか?

分類Dev

メソッドのパラメーターとして使用できるクラスを動的に定義するにはどうすればよいですか?

分類Dev

フレックスボックスを使用しているときに、フレックス列にある3つのボタンを左にスライドさせてホバーすると表示するにはどうすればよいですか?

分類Dev

インターフェイスを実装するクラスにあるメソッドを、そのインターフェイスのタイプのオブジェクトで呼び出すにはどうすればよいですか?

Related 関連記事

  1. 1

    typescriptのクラスからインスタンスメソッドを除外するタイプを作成するにはどうすればよいですか?

  2. 2

    メソッドが属する同じクラスのインスタンスを作成するにはどうすればよいですか?

  3. 3

    discord.py rewriteのクラスのメソッドを使用してコマンドを作成するにはどうすればよいですか?

  4. 4

    別のクラスのメソッドのパラメーターとして変数を使用するにはどうすればよいですか?

  5. 5

    クラスインスタンスの非静的比較メソッドでpriority_queueを使用するにはどうすればよいですか?

  6. 6

    D:\ abstractクラスに任意のパラメーターを使用して必要なメソッドを作成するにはどうすればよいですか?

  7. 7

    メソッドを作成して別のクラスで使用するにはどうすればよいですか?

  8. 8

    別のクラスの別のインスタンスメソッドでインスタンスメソッドを参照するにはどうすればよいですか?

  9. 9

    同じクラスの別のメソッドでコンストラクターの状態を更新するにはどうすればよいですか?

  10. 10

    別のクラス内に存在するクラスの新しいインスタンスを作成するにはどうすればよいですか?

  11. 11

    クラスメソッドで別のクラスインスタンスを呼び出すにはどうすればよいですか?

  12. 12

    あるクラスのオブジェクトを別のクラスのメソッドで使用するにはどうすればよいですか?

  13. 13

    Typescriptで、イベントハンドラーとして呼び出される同じクラスの別のメソッドからクラスメソッドを呼び出すにはどうすればよいですか?

  14. 14

    Pythonの `super()`からインスタンスメソッドの次の行の親クラスを取得するにはどうすればよいですか?

  15. 15

    TSでプロトタイプメソッドを使用してクラスのインターフェイスを作成するにはどうすればよいですか?

  16. 16

    インターフェイスで静的メソッドを使用して、インスタンス メソッドによって返されるジェネリック インスタンスを返すにはどうすればよいですか?

  17. 17

    クラスでメソッドを作成し、別のクラスで変数を操作するにはどうすればよいですか?

  18. 18

    メインクラスの2つの変数を評価するメソッドを作成するにはどうすればよいですか?

  19. 19

    あるリストの各要素を別のリストのインデックスとして使用するにはどうすればよいですか?

  20. 20

    Javaで、あるクラスのコンストラクターを別のクラスのオブジェクトへのパラメーターとして使用するにはどうすればよいですか?

  21. 21

    SQLAlchemyを使用して、クラスの他のインスタンスのリストであるクラスのフィールドを作成するにはどうすればよいですか?

  22. 22

    内部で他のインスタンスメソッドを使用する外部ライブラリのインスタンスメソッドにモンキーパッチを適用するにはどうすればよいですか?

  23. 23

    Scannerクラスを使用してユーザーの入力を登録するメソッドを作成するにはどうすればよいですか?

  24. 24

    クラスプロトタイプまたは酵素ラッパーインスタンスを介してreactコンポーネントのメソッドを正しくスパイするにはどうすればよいですか?

  25. 25

    AngularJS:新しく作成された$ resourceインスタンスの$ save()httpメソッドを変更するにはどうすればよいですか?

  26. 26

    Javaで、オーバーライドするクラスのインスタンスからオーバーライドされるクラスのメソッドを呼び出すにはどうすればよいですか?

  27. 27

    メソッドのパラメーターとして使用できるクラスを動的に定義するにはどうすればよいですか?

  28. 28

    フレックスボックスを使用しているときに、フレックス列にある3つのボタンを左にスライドさせてホバーすると表示するにはどうすればよいですか?

  29. 29

    インターフェイスを実装するクラスにあるメソッドを、そのインターフェイスのタイプのオブジェクトで呼び出すにはどうすればよいですか?

ホットタグ

アーカイブ