한 클래스의 메서드를 사용하여 Java에서 다른 인스턴스를 만들려면 어떻게해야합니까?

타일러 더르

두 개의 클래스가 있는데 하나는 계산 객체 (CyberPet.java)이고 다른 하나는 계산 객체 (TestCyberPet.java)입니다. TestCyberPet에는 사용자 입력을 사용하여 CyberPet 인스턴스를 인스턴스화하는 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은 CyberPet 클래스에 없기 때문에 거기에서 사용할 수 있습니다. createPet을 사용하여 CyberPet의 인스턴스를 생성하려면 어떻게해야합니까?

여기에 충분한 정보를 입력했으면 좋겠습니다. 이것은 StackOverflow에 대한 첫 번째 게시물이므로 더 추가해야 할 사항이 있으면 알려주세요! :)

크리스토퍼

글쎄, 당신은 이러한 클래스가 어떻게되어야하는지에 대해 약간의 이해가 엇갈린 것 같습니다.

테스트 개체를 만드는 경우 사용자 입력이 필요하지 않습니다. 알려진 값을 사용해야합니다. 더 빠르고 동일한 목적을 제공합니다. 둘째, private static메서드 에 액세스 하려면 클래스 내에서 액세스 해야합니다. 다음을 통해 액세스 할 수 있습니다.

TestCyberPet.createPet();

이것은 유형의 인스턴스를 반환합니다 CyberPet.

노트

  • 먼저 JUnit과 같은 테스트 프레임 워크 를 살펴 봐야 합니다. 이렇게하면 테스트 프로세스가 자동화되고 이러한 종류의 테스트를 더 쉽게 작성할 수 있습니다.

  • 둘째, OOP에 대한 지식을 수정하십시오. 해당 클래스 외부의 클래스에 대한 사용자 입력 유효성 검사를 수행하면 안됩니다. 클래스 자체 만이 필요한 것을 알아야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

클래스를 인수로 전달한 다음 해당 클래스의 공유 메서드를 사용하려면 어떻게해야합니까?

분류에서Dev

인터페이스 인스턴스 메서드가 동일한 클래스의 인수 만 받아들이도록하려면 어떻게해야합니까?

분류에서Dev

클래스 내의 다른 클래스에 대한 포인터를 C ++의 다른 포인터에 복사하려면 어떻게해야합니까?

분류에서Dev

열거 형을 식별자로 사용하여 클래스의 다른 인스턴스를 만들려면 어떻게해야합니까?

분류에서Dev

사용 가능한 다른 영역에서 Aurora 클러스터 DB 인스턴스를 생성하려면 어떻게해야합니까?

분류에서Dev

정적 메서드에서 클래스 수준 잠금을 만들고 한 스레드가 실행하면 동일한 클래스의 다른 인스턴스 메서드를 실행하는 다른 스레드를 차단합니까?

분류에서Dev

Ninject가 특정 SerialPort 인스턴스를 다른 클래스의 특정 인스턴스에 주입하도록하려면 어떻게해야합니까?

분류에서Dev

동일한 클래스의 이전 인스턴스에서 인스턴스를 호출하려면 어떻게해야합니까?

분류에서Dev

한 클래스에서 변수에 액세스하여 다른 클래스에서 사용하려면 어떻게해야합니까?

분류에서Dev

기본 클래스 C #의 한 하위 클래스에서 다른 하위 클래스로 값을 전달하려면 어떻게해야합니까?

분류에서Dev

컬렉션의 메서드를 다른 클래스의 일반 메서드로 사용하려면 어떻게해야합니까?

분류에서Dev

GameViewController의 다른 신속한 파일에서 메서드를 호출하려면 어떻게해야합니까?

분류에서Dev

Java에서 2 개의 클래스를 확장하려면 어떻게해야합니까? JFrame과 다른 클래스를 확장해야합니다.

분류에서Dev

다른 서버에서 동일한 도메인에 대해 이메일 서비스를 사용하려면 어떻게해야합니까?

분류에서Dev

인터페이스에서 정적 메서드를 사용하여 인스턴스 메서드에서 반환 한 일반 인스턴스를 반환하려면 어떻게해야합니까?

분류에서Dev

두 개의 다른 메인 클래스를 동시에 실행하려면 어떻게해야합니까?

분류에서Dev

클래스의 한 인스턴스를 수정하면 다른 인스턴스에 영향을줍니다.

분류에서Dev

JavaScript 클래스 인스턴스를 다른 클래스의 인스턴스로 만들려면 어떻게해야합니까?

분류에서Dev

Xamarin의 한 클래스에서 다른 클래스로 바운드 값을 전달하려면 어떻게해야합니까?

분류에서Dev

클래스의 변수 인스턴스를 업데이트하기 위해 클래스의 메서드를 사용하는 것이 옳습니까? 그렇다면 어떻게해야합니까?

분류에서Dev

내 XAML의 다른 사용자 지정 컨트롤 기본 클래스를 사용하여 WPF가 내 뷰에서 사용자 지정 컨트롤을 인스턴스화하도록하려면 어떻게해야합니까?

분류에서Dev

IAuthenticationProvider는 microsoft-graph : 2.3.0에서 더 이상 사용되지 않습니다. 지금 GraphServiceClient 인스턴스를 만들려면 어떻게해야합니까?

분류에서Dev

다른 클래스를 등록하려면 WebApiRequestLifestyle의 고유 한 인스턴스를 전달해야합니까?

분류에서Dev

어떻게 자바 스크립트에서 변수를 사용하여에 대한 루프를 만들려면 어떻게해야합니까?

분류에서Dev

다른 클래스의 인스턴스로 구성된 클래스를 정의하려면 코드를 어떻게 구성해야합니까?

분류에서Dev

JAVA의 동일한 패키지에있는 다른 클래스의 메서드를 호출하거나 필드에 액세스하려면 어떻게해야합니까?

분류에서Dev

상속 메서드를 사용한 클래스의 함수를 사용한 후 재설정하거나 바꾸려면 어떻게해야합니까?

분류에서Dev

C # 다른 클래스의 목록에 대한 참조를 만들려면 어떻게합니까?

분류에서Dev

다른 텍스트 요소 (같은 클래스 아래)에 대해 CSS 클래스의 한 부분 만 변경하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    클래스를 인수로 전달한 다음 해당 클래스의 공유 메서드를 사용하려면 어떻게해야합니까?

  2. 2

    인터페이스 인스턴스 메서드가 동일한 클래스의 인수 만 받아들이도록하려면 어떻게해야합니까?

  3. 3

    클래스 내의 다른 클래스에 대한 포인터를 C ++의 다른 포인터에 복사하려면 어떻게해야합니까?

  4. 4

    열거 형을 식별자로 사용하여 클래스의 다른 인스턴스를 만들려면 어떻게해야합니까?

  5. 5

    사용 가능한 다른 영역에서 Aurora 클러스터 DB 인스턴스를 생성하려면 어떻게해야합니까?

  6. 6

    정적 메서드에서 클래스 수준 잠금을 만들고 한 스레드가 실행하면 동일한 클래스의 다른 인스턴스 메서드를 실행하는 다른 스레드를 차단합니까?

  7. 7

    Ninject가 특정 SerialPort 인스턴스를 다른 클래스의 특정 인스턴스에 주입하도록하려면 어떻게해야합니까?

  8. 8

    동일한 클래스의 이전 인스턴스에서 인스턴스를 호출하려면 어떻게해야합니까?

  9. 9

    한 클래스에서 변수에 액세스하여 다른 클래스에서 사용하려면 어떻게해야합니까?

  10. 10

    기본 클래스 C #의 한 하위 클래스에서 다른 하위 클래스로 값을 전달하려면 어떻게해야합니까?

  11. 11

    컬렉션의 메서드를 다른 클래스의 일반 메서드로 사용하려면 어떻게해야합니까?

  12. 12

    GameViewController의 다른 신속한 파일에서 메서드를 호출하려면 어떻게해야합니까?

  13. 13

    Java에서 2 개의 클래스를 확장하려면 어떻게해야합니까? JFrame과 다른 클래스를 확장해야합니다.

  14. 14

    다른 서버에서 동일한 도메인에 대해 이메일 서비스를 사용하려면 어떻게해야합니까?

  15. 15

    인터페이스에서 정적 메서드를 사용하여 인스턴스 메서드에서 반환 한 일반 인스턴스를 반환하려면 어떻게해야합니까?

  16. 16

    두 개의 다른 메인 클래스를 동시에 실행하려면 어떻게해야합니까?

  17. 17

    클래스의 한 인스턴스를 수정하면 다른 인스턴스에 영향을줍니다.

  18. 18

    JavaScript 클래스 인스턴스를 다른 클래스의 인스턴스로 만들려면 어떻게해야합니까?

  19. 19

    Xamarin의 한 클래스에서 다른 클래스로 바운드 값을 전달하려면 어떻게해야합니까?

  20. 20

    클래스의 변수 인스턴스를 업데이트하기 위해 클래스의 메서드를 사용하는 것이 옳습니까? 그렇다면 어떻게해야합니까?

  21. 21

    내 XAML의 다른 사용자 지정 컨트롤 기본 클래스를 사용하여 WPF가 내 뷰에서 사용자 지정 컨트롤을 인스턴스화하도록하려면 어떻게해야합니까?

  22. 22

    IAuthenticationProvider는 microsoft-graph : 2.3.0에서 더 이상 사용되지 않습니다. 지금 GraphServiceClient 인스턴스를 만들려면 어떻게해야합니까?

  23. 23

    다른 클래스를 등록하려면 WebApiRequestLifestyle의 고유 한 인스턴스를 전달해야합니까?

  24. 24

    어떻게 자바 스크립트에서 변수를 사용하여에 대한 루프를 만들려면 어떻게해야합니까?

  25. 25

    다른 클래스의 인스턴스로 구성된 클래스를 정의하려면 코드를 어떻게 구성해야합니까?

  26. 26

    JAVA의 동일한 패키지에있는 다른 클래스의 메서드를 호출하거나 필드에 액세스하려면 어떻게해야합니까?

  27. 27

    상속 메서드를 사용한 클래스의 함수를 사용한 후 재설정하거나 바꾸려면 어떻게해야합니까?

  28. 28

    C # 다른 클래스의 목록에 대한 참조를 만들려면 어떻게합니까?

  29. 29

    다른 텍스트 요소 (같은 클래스 아래)에 대해 CSS 클래스의 한 부분 만 변경하려면 어떻게해야합니까?

뜨겁다태그

보관