자바에서의 슈퍼 용법 분석 분석
class JavanTiger {
int age; //
int hight; //
public JavanTiger() {
print();
this.age=2; // age , ,
}
public JavanTiger(int age) {
this(); // ,
this.age = age;
print();
}
public JavanTiger(int age, int hight) {
this(age); // ,
this.hight = hight;
print();
}
public void print() { //
System.out.println("I'am a " + age + " " + hight + " tiger!");
}
public static void main(String[] args) {
new JavanTiger(3,3);
}
}
//output
//I'am a 0 0 tiger!
//I'am a 3 0 tiger!
//I'am a 3 3 tiger!
개인의 이해는 이렇다. 예를 들어 구조 함수 귀속 호출과 프로그램 함수 귀속 호출의 메커니즘이 같은 것 같습니까?구조 함수는 대상과 함께 생성된다. 즉, 메모리 공간을 동시에 분배하는 것이다. 그 문과 같은 귀속 호출은 메모리 분배의 순서를 어지럽히지 않을까?보이는 큰 소들이 판자를 두드려 가장 좋은 설명을 해 주기를 바란다.오늘 요약하고자 하는 것은 슈퍼라는 키워드의 사용이다. 슈퍼가 구조 함수에 나타날 때 일반적으로 현재 이 클래스는 다른 클래스를 계승한다. 슈퍼의 출현은 바로 부류의 구조 함수를 호출하기 위해 코드를 붙이는 것이다
class Tiger {
int age; //
int hight; //
public Tiger() {
print();
}
public void print() {
System.out.println("I'am a " + age + " " + hight + " tiger!");
}
}
public class JavanTiger extends Tiger {
public JavanTiger() {
super(); //
}
public static void main(String[] args) {
new JavanTiger();
}
}
사실 클래스 Javantiger의 구조 함수에 있는 슈퍼()는 쓰지 않아도 됩니다. JAVA는 기본적으로 부류의 무파라미터 구조 함수를 호출합니다. 그러나 부류가 무파라미터의 구조 함수를 정의하지 않고 문법 오류가 없으면 프로그램이 자동으로 종료됩니다. 어떤 인쇄문도 없습니다. 이때 다른 부류의 구조 함수를 수동으로 호출해야 합니다. 코드 붙이기:
class Tiger {
int age; //
int hight; //
public Tiger(int age) {
this.age = age;
print();
}
public void print() {
System.out.println("I'am a " + age + " " + hight + " tiger!");
}
}
public class JavanTiger extends Tiger {
public JavanTiger() {
super(1); //
}
public static void main(String[] args) {
new JavanTiger();
}
}
이 코드의 슈퍼(1)는 반드시 써야 합니다. 그렇지 않으면 컴파일러가 오류를 보고할 것입니다.그래서 간단하게 정리해 봤는데,"this () 는 자신의 다른 구조 함수를 호출하고, 슈퍼 () 는 자신이 계승한 부류를 호출하는 구조 함수입니다."기본적으로 매개 변수가 없는 부류 구조 함수만 호출하려면 하위 클래스의 구조 함수에 쓰지 않아도 되지만 실제 프로그래밍을 할 때 이 점을 무시합니다. 이 두 키워드가 하위 클래스의 구조 함수에 동시에 나타날 수 있습니까? 답은 틀림없습니다. 먼저 자신의 이해를 말씀드리겠습니다. 1) 기본 클래스를 새로 만들 때 자신의 구조 함수를 몇 번 호출하든 최종적으로너는 모두 부류의 구조 함수를 호출할 것이다. (현식 호출이 아니라면, 시스템은 기본적으로 파라미터가 없는 부류 구조 함수를 호출할 것이다.)2) JAVA에서this와 super를 사용할 때 반드시 구조 함수 첫 줄에 놓아야 하며 첫 줄만 있어야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.