구조 기 에서 왜 this 나 슈퍼 는 첫 줄 에 두 어야 합 니까?
5175 단어 자바StringClassConstructor컴 파일 러
구조 기 에서 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 super 。 this() super() , super(), this() super() 。 // super() 。 !!!
}
즉,구조 기의 첫 줄 에 놓 아야 한 다 는 것 이다.
super
혹은
this
구조 기,그렇지 않 으 면 컴 파일 러 가 자동 으로 빈 파 라 메 터 를 놓 을 것 이다.
super
구조 기의,다른 구조 기 도 호출 할 수 있다.
super
혹은
this
재 귀 구조 체인 으로 호출 되 었 습 니 다.마지막 결 과 는 아버지 류 의 구조 기(다단 계 아버지 류 구조 기 가 있 을 수 있 습 니 다)가 항상 하위 류 의 구조 기 전에 실 행 됩 니 다.재 귀 된 호출 아버지 류 구조 기 입 니 다.현재 클래스 의 구조 기 를 실행 할 수 없습니다.어떤 대상 도 예화 할 수 없다.이런 종 류 는 무위 류 가 된다.
다른 한편,자 류 는 아버지 류 에서 물 려 받 아 아버지 류 의 속성 과 방법 을 물 려 받 았 다.만약 에 자 류 에서 아버지 류 의 구성원 초기 화 를 완성 하지 않 으 면 자 류 는 사용 할 수 없 으 므 로
java
초기 화 되 지 않 은 구성원 을 호출 할 수 없습니다.구조 기 에 서 는 순서대로 실 행 됩 니 다.즉,첫 줄 에서 부류 의 초기 화 를 해 야 한 다 는 것 입 니 다.그리고
super
이 기능 을 직접 완성 할 수 있다.
This()
이 종류의 다른 구조 기 를 호출 함으로써 도 이 기능 을 완성 할 수 있다.
그래서
this()
혹은
super()
첫 줄 에 두 어야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.