동일한 클래스의 다른 생성자에서 생성자 변수에 액세스

발라 모리
public GObject(Point3D[] v, Face[] f){
    vertex = v;
    face = f;
}

public GObject(String fileName){
    try{
           ...//read contents of file and store in an array
           Point3D[] vertices = new Point3D[numOfVertices];

    } catch(Exception e){
           System.out.println("Can't read file " + e.getMessage());
    }
}

두 번째 생성자는 전달 된 파일을 읽고 해당 값을 vertices 배열에 성공적으로 저장했지만 두 번째 생성자의 vertices 배열을 매개 변수로 첫 번째 생성자로 전달하면 어떻게 v = vertices됩니까?

MD Sayem Ahmed

당신은 사용해야합니다 this-

public GObject(String fileName){
    this(new Point3D[numOfVertices], new Face[5]); // `5` is just for example.

    try{
       ...//read contents of file and store in an array
       Point3D[] vertices = new Point3D[numOfVertices];

    } catch(Exception e){
       System.out.println("Can't read file " + e.getMessage());
    }
}

이 방법을 사용하는 경우 call to this는 두 번째 생성자의 첫 번째 문이어야합니다. 이 제한 사항을 따르기 어렵다면 다음과 같이하시기 바랍니다.

public GObject(Point3D[] v, Face[] f){
    setV(v);
    face = f;
}

public GObject(String fileName){
    try{
       ...//read contents of file and store in an array
       setV(new Point3D[numOfVertices]);
    } catch(Exception e){
       System.out.println("Can't read file " + e.getMessage());
    }
}

private void setV(Point3D[] v) {
    vertex = v;
}

Face다른 생성자를 호출하기 위해 배열 을 생성하도록 강요하지 않기 때문에 두 번째 방법이 더 낫다고 생각합니다 . 또한 나중에 setting logic쉽게 유효성 검사를 변경 하거나 통합 할 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 클래스의 이동 생성자 내부에서 이동 클래스 (기본 생성자 없음)

분류에서Dev

모든 기본 인수가있는 명시 적 생성자는 동일한 클래스의 다른 생성자에서 호출 할 수 없습니다.

분류에서Dev

생성자 인수가 다른 동일한 클래스의 빈 2 개 생성 및 자동 연결 사용

분류에서Dev

자바 : 파일의 다른 곳에서 인식되는 클래스 생성

분류에서Dev

부모 클래스 생성자가 호출 한 메서드의 자식 클래스 필드에 액세스

분류에서Dev

Java의 다른 클래스에서 클래스 생성자 문자열 반환

분류에서Dev

자바 : 다른 곳에서 생성 된 객체에 액세스

분류에서Dev

Typescript에서 슈퍼 생성자를 호출 한 후 자식 클래스 인스턴스에서 속성에 액세스 할 수 없습니다.

분류에서Dev

다른 클래스의 자산 파일에 액세스

분류에서Dev

다른 생성자에서 데이터 액세스 및 추가

분류에서Dev

다른 클래스에서 생성 된 개체에 액세스

분류에서Dev

한 클래스에서 다른 클래스의 지역 변수에 액세스

분류에서Dev

Laravel5의 사용자 정의 클래스에서 생성 된 새 구성 파일에 액세스

분류에서Dev

Android의 Kotlin에서 활동 클래스에 대한 기본 생성자를 작성할 수 없습니다.

분류에서Dev

"초기화되지 않은 변수에 액세스 할 수 없습니다." 클래스 생성자에서

분류에서Dev

클래스 생성자 내에서 전역 변수에 액세스 할 수 없습니다.

분류에서Dev

다른 파일의 동일한 클래스에서 함수에 액세스

분류에서Dev

다른 PHP 파일의 클래스 변수에 액세스

분류에서Dev

C # 다른 클래스의 변수에 대한 앱 액세스?

분류에서Dev

생성 된 각 객체에 대한 생성자의 클래스 변수 변경

분류에서Dev

다른 관리자 클래스에 대한 경로 생성

분류에서Dev

다른 클래스 매개 변수에서 클래스 생성자 매개 변수에 액세스하는 방법

분류에서Dev

내 클래스 (다른 클래스에 대한 포인터 컨테이너)가 공용 생성자에 액세스 할 수없는 것 같습니다.

분류에서Dev

왜 생성자에서 생성되는 클래스의 인스턴스 (자바)에 액세스 할 수 없습니다

분류에서Dev

생성자 C ++의 다른 클래스에 대한 포인터 초기화

분류에서Dev

친숙한 클래스 내부에 빌드 된 공용 생성자를 다른 패키지에서 액세스 할 수 있습니까?

분류에서Dev

생성자의 기본 클래스 속성에 액세스

분류에서Dev

생성 중 자신의 클래스 속성에 액세스

분류에서Dev

클래스의 생성자 속성에 액세스

Related 관련 기사

  1. 1

    다른 클래스의 이동 생성자 내부에서 이동 클래스 (기본 생성자 없음)

  2. 2

    모든 기본 인수가있는 명시 적 생성자는 동일한 클래스의 다른 생성자에서 호출 할 수 없습니다.

  3. 3

    생성자 인수가 다른 동일한 클래스의 빈 2 개 생성 및 자동 연결 사용

  4. 4

    자바 : 파일의 다른 곳에서 인식되는 클래스 생성

  5. 5

    부모 클래스 생성자가 호출 한 메서드의 자식 클래스 필드에 액세스

  6. 6

    Java의 다른 클래스에서 클래스 생성자 문자열 반환

  7. 7

    자바 : 다른 곳에서 생성 된 객체에 액세스

  8. 8

    Typescript에서 슈퍼 생성자를 호출 한 후 자식 클래스 인스턴스에서 속성에 액세스 할 수 없습니다.

  9. 9

    다른 클래스의 자산 파일에 액세스

  10. 10

    다른 생성자에서 데이터 액세스 및 추가

  11. 11

    다른 클래스에서 생성 된 개체에 액세스

  12. 12

    한 클래스에서 다른 클래스의 지역 변수에 액세스

  13. 13

    Laravel5의 사용자 정의 클래스에서 생성 된 새 구성 파일에 액세스

  14. 14

    Android의 Kotlin에서 활동 클래스에 대한 기본 생성자를 작성할 수 없습니다.

  15. 15

    "초기화되지 않은 변수에 액세스 할 수 없습니다." 클래스 생성자에서

  16. 16

    클래스 생성자 내에서 전역 변수에 액세스 할 수 없습니다.

  17. 17

    다른 파일의 동일한 클래스에서 함수에 액세스

  18. 18

    다른 PHP 파일의 클래스 변수에 액세스

  19. 19

    C # 다른 클래스의 변수에 대한 앱 액세스?

  20. 20

    생성 된 각 객체에 대한 생성자의 클래스 변수 변경

  21. 21

    다른 관리자 클래스에 대한 경로 생성

  22. 22

    다른 클래스 매개 변수에서 클래스 생성자 매개 변수에 액세스하는 방법

  23. 23

    내 클래스 (다른 클래스에 대한 포인터 컨테이너)가 공용 생성자에 액세스 할 수없는 것 같습니다.

  24. 24

    왜 생성자에서 생성되는 클래스의 인스턴스 (자바)에 액세스 할 수 없습니다

  25. 25

    생성자 C ++의 다른 클래스에 대한 포인터 초기화

  26. 26

    친숙한 클래스 내부에 빌드 된 공용 생성자를 다른 패키지에서 액세스 할 수 있습니까?

  27. 27

    생성자의 기본 클래스 속성에 액세스

  28. 28

    생성 중 자신의 클래스 속성에 액세스

  29. 29

    클래스의 생성자 속성에 액세스

뜨겁다태그

보관