구조 기 에서 왜 this 나 슈퍼 는 첫 줄 에 두 어야 합 니까?


구조 기 에서 this 나 슈퍼 는 왜 첫 줄 에 넣 어야 합 니까?
this() super()
현재 구조 기 에 들 어 오 는 인자 나 구조 기 에 있 는 데 이 터 를 사용 하여 다른 구조 기 를 호출 하거나 부모 구조 기 를 제어 할 때 사용 하려 면 하나의 구조 기 에서 만 사용 할 수 있 습 니 다.
this()
혹은
super()
그 중 하나 이 고 호출 된 위 치 는 구조 기의 첫 줄 에 만 있 습 니 다.하위 클래스 에서 부모 류 의 구조 기 를 호출 하여 부모 류 의 부분 을 초기 화 하려 면 적당 한 매개 변수 로 호출 하 십시오.
super()
하면,만약,만약...
super()
부모 클래스 의 구조 기 를 호출 합 니 다.
this()
다른 구조 기 를 호출 합 니 다)부모 류 의 부족 한 구조 기 는 호출 될 것 입 니 다.만약 에 아버지 류 가 부족 한 구조 기 가 없다 면 컴 파일 러 는 오 류 를 보고 할 것 입 니 다.
틀리다
하면,만약,만약...
this
화해시키다
super
어디 든 놓 으 세 요.그럼 다음 코드 를 보 세 요.
class A
{
     A()
   {
        System.out.println("You call super class non-args constructor!");
   }
}
 
class B extends A
{
      B()
      {
              // super();
              System.out.println("You call subclass constructor!");
      }
             
       B(String n)
       {
               super();
               this();//       B(){...}B(){...}         
                       //super();           super();        //       。          ,            ,   this superthis() super()super(),     this() super()                    //      super()     。           !!!
         }

즉,구조 기의 첫 줄 에 놓 아야 한 다 는 것 이다.
super
혹은
this
구조 기,그렇지 않 으 면 컴 파일 러 가 자동 으로 빈 파 라 메 터 를 놓 을 것 이다.
super
구조 기의,다른 구조 기 도 호출 할 수 있다.
super
혹은
this
재 귀 구조 체인 으로 호출 되 었 습 니 다.마지막 결 과 는 아버지 류 의 구조 기(다단 계 아버지 류 구조 기 가 있 을 수 있 습 니 다)가 항상 하위 류 의 구조 기 전에 실 행 됩 니 다.재 귀 된 호출 아버지 류 구조 기 입 니 다.현재 클래스 의 구조 기 를 실행 할 수 없습니다.어떤 대상 도 예화 할 수 없다.이런 종 류 는 무위 류 가 된다.
 
다른 한편,자 류 는 아버지 류 에서 물 려 받 아 아버지 류 의 속성 과 방법 을 물 려 받 았 다.만약 에 자 류 에서 아버지 류 의 구성원 초기 화 를 완성 하지 않 으 면 자 류 는 사용 할 수 없 으 므 로
java
초기 화 되 지 않 은 구성원 을 호출 할 수 없습니다.구조 기 에 서 는 순서대로 실 행 됩 니 다.즉,첫 줄 에서 부류 의 초기 화 를 해 야 한 다 는 것 입 니 다.그리고
super
이 기능 을 직접 완성 할 수 있다.
This()
이 종류의 다른 구조 기 를 호출 함으로써 도 이 기능 을 완성 할 수 있다.
그래서
this()
혹은
super()
첫 줄 에 두 어야 합 니 다.

좋은 웹페이지 즐겨찾기