java Super 사용법 상세 및 실례 코드

3286 단어 javaSuper
java Super 사용법 상세 설명
1) 어떤 사람이 속성을 초기화하는 좋은 구조 함수를 썼는데, 그 안에 다른 자신의 새로운 속성의 초기화를 추가하고 싶을 뿐이다. 이렇게 하면 한 구조 함수에서 다른 구조 함수를 호출하면 중복된 코드 양을 피하고 작업량을 줄일 수 있다.
2) 한 구조 함수에서 다른 구조 함수를 호출할 때 같은 메모리 공간을 사용해야 한다. 기본 구조 함수에서 먼저 변수를 초기화하고 다른 구조 함수를 호출할 때 이미 초기화된 변수의 값을 덮어쓴다.
3) 전체 호출의 과정은 귀환 호출 함수와 약간 유사하다. 공기구를 계속 충전하고 전체 기구가 팽창할 때까지 깊은 층으로 전진하며 정지 표시를 만나 층층이 튀어나온다.
단락 코드를 써서 나의 위의 서술을 설명했다.

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를 사용할 때 반드시 구조 함수 첫 줄에 놓아야 하며 첫 줄만 있어야 한다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기