자바 슈퍼 키워드
슈퍼 키워드는 이와 유사하며 현재 클래스의 인스턴스를 나타내는 데 사용되며 Super는 상위 클래스를 나타내는 데 사용됩니다.
Super는 서브 클래스에서 DOTS (.)를 통해 부모 클래스의 멤버 변수 및 메소드를 얻을 수 있습니다. Super는 서브 클래스의 서브 클래스에서도 사용할 수 있으며 Java는 자동으로 상류층을 추적 할 수 있습니다.
부모 클래스 동작은 마치 행동 이이 클래스의 동작 인 것처럼 호출되는 것처럼 호출 동작이 부모 클래스에서 발생할 필요가 없으며 자동으로 상류층을 추적 할 수 있습니다.
슈퍼 키워드의 기능 :
부모 클래스에서 개인으로 선언 된 변수를 호출합니다.
덮은 메소드를 클릭하십시오.
부모 클래스 생성자를 메소드 이름으로 나타냅니다.
숨겨진 변수 및 덮어 쓰기 메소드를 호출하십시오
공개 클래스 데모 {public static void main (string [] args) {new dog (); getter 방법 public String getDesc () {return desc;} public void move () { "Animals Can Move") {public void move () {super.move. ); // Parent Class의 메소드 시스템을 호출하십시오. }}
실행 결과 :
동물이 이동할 수있는 동물은 걸을 수 있고 달리기를 기억하십시오 : 동물은 인간의 좋은 친구입니다
Move () 메소드는 부모 클래스의 부모 클래스와 같은 일부 조상 클래스에서도 추적 할 수 있으며 메소드가 발견 될 때까지 계속 찾을 수 있습니다.
Super를 통해 상위 클래스의 숨겨진 변수를 호출하려면 개인으로 선언 된 데이터 구성원이 서브 클래스에 표시되지 않기 때문에 부모 클래스의 Getter 메소드를 선언해야합니다.
부모 클래스의 생성자에게 전화하십시오
대부분의 경우 기본 생성자는 부모 클래스 객체를 초기화하는 데 사용됩니다. 물론 Super를 사용하여 부모 클래스를 호출하는 생성자를 표시 할 수도 있습니다.
공개 클래스 데모 {public static void main (string [] args) {dog obj = "huahua", 3); 이. 이름 =} int age {super (name); ( "나는 귀여운 강아지입니다. 내 이름은" + name + ", i" + age + "mangy-old"입니다.
실행 결과 :
나는 귀여운 강아지, 제 이름은 huahua입니다. 저는 3 살입니다.
참고 : super ()이든 this ()이든 생성자의 첫 번째 줄에 배치해야합니다.
주목할 가치가 있습니다.
다른 생성자가 생성자에서 호출되며, 호출 조치는 시작 위치에 배치해야합니다.
생성자는 생성자 이외의 다른 방법 내에서 호출 할 수 없습니다.
생성자 내에서 하나의 생성자 만 호출 할 수 있습니다.
super () 또는 this ()를 호출하지 않고 생성자를 작성하는 경우 컴파일러는 매개 변수없이 부모 클래스 생성자에 호출을 자동으로 삽입합니다.
마지막으로, Super와 이것의 차이점 : Super는 객체에 대한 참조가 아니며 Super는 다른 객체 변수에 할당 할 수 없습니다. 단지 컴파일러가 부모 클래스 메소드를 호출 함을 나타내는 특별한 키워드입니다.
Java 인스턴스 Operator <br /> polymorphism은 문제가 발생합니다. 이는 실제로 변수로 참조 된 객체의 유형을 판단하는 방법입니다. C ++는 RTTI (Runtime-Type Information)를 사용하고 Java는 인스턴스 연산자를 사용합니다.
인스턴스는 변수에 의해 참조 된 객체의 실제 유형을 결정하는 데 사용됩니다. 다음 코드를 참조하십시오.
public final class demo {public static void main (string [] args) {// 사람의 인스턴스를 참조하십시오 Object ");} if (obj instance of people) {System.out.println ("나는 인간입니다 ");} if (obj instanceof teacher) {system.out.println ("I am a a a a a a a a a a afor ");} if. (OBJ 인스턴스) {System.out.println ( "나는 교장입니다"); line // 예제는 교사 클래스를 참조하십시오. "나는 인간이다"; );}}} class people {} : : : : : : : : : : : : : : Class Teacher는 사람을 확장합니다 {} Class President Extends 교사 {}.
실행 결과 :
나는 대상입니다. 저는 인간입니다 ----------------------------------------- --------------------------------------------------------- ----------------------------
알 수 있듯이, 인스턴스는 변수가 현재 클래스 또는 하위 클래스의 인스턴스를 나타내는 경우 true를 반환합니다.