이 글의 내용은 자바 키워드 super와 this가 무엇인지 소개하는 것입니다. 차이점은 무엇입니까? , 키워드 super와 this의 역할, 키워드 super와 this의 차이점, superL()과 this()에 대한 간략한 소개를 모두가 이해할 수 있도록 하세요. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
super와 this의 키워드는 무엇인가요? 차이점은 무엇입니까?
이 키워드
이것은 Java에서 예약된 키워드입니다. 즉, 다음과 같이 사용할 수 없습니다. 식별자.
this: 현재 클래스의 메서드/속성(자체 전용 메서드/속성 포함)에 대한 액세스를 허용하는 현재 개체를 나타냅니다.
간단히 말하면 현재 클래스의 모든 속성과 메서드는 물론 액세스 한정자가 허용할 수 있는 부모 클래스에서 상속된 속성과 메서드에 액세스하고 작동할 수 있습니다.
예:
class RR { int a = 10; static int b = 20; void GFG() { this.a = 100; this.b = 600; System.out.println(a); System.out.println(b); } public static void main(String[] args) { new RR().GFG(); } }
실행 결과:
참고: 다음에서만 사용할 수 있습니다. 클래스 비정적 메서드에 사용되며 정적 메서드 및 정적 코드 블록에 표시되어서는 안 됩니다.
super 키워드
super는 Java에서 예약된 키워드입니다. 즉, 식별자로 사용할 수 없습니다.
super는 현재 개체 클래스의 상위 클래스 개체 부분을 나타내며 보호된 멤버 변수 및 멤버 메서드를 참조하는 데 사용됩니다. 퍼블릭(보호되는) 메서드나 속성에 대한 액세스를 허용하지만 부모의 프라이빗 메서드나 속성에는 액세스할 수 없습니다.
super는 이 클래스의 속성과 메서드를 작동할 수 없습니다. 이 클래스에서 호출될 때만 상위 클래스 액세스 수정자에서 허용하는 상위 클래스의 속성과 메서드를 작동할 수 있습니다. super.method를 사용할 때 재정의됩니다.
super를 사용하는 목적은 직계 부모 클래스(즉, 클래스 위의 가장 가까운 슈퍼클래스)에서 차단된 멤버에 액세스하는 것입니다.
예:
class Parent { // instance variable int a = 10; // static variable static int b = 20; } class Base extends Parent { void rr() { System.out.println(super.a); System.out.println(super.b); } public static void main(String[] args) { new Base().rr(); } }
실행 출력:
차이 요약: # 🎜🎜#
this 키워드: 현재 객체, 즉 현재 클래스 객체를 나타내며, 현재 클래스 멤버(변수 및 메서드)를 호출합니다. super 키워드: 나타냅니다. 현재 클래스의 상위 클래스는 상위 클래스의 멤버(변수 및 메서드)를 호출합니다. this는 super보다 사용 범위가 더 넓습니다.this() 및 super()에 대한 간략한 소개
1. ( )는 생성자 2에서만 사용할 수 있습니다. this()는 이 클래스의 생성자를 호출합니다. 괄호 안에 형식 매개변수가 있으면 이 클래스의 해당 매개변수의 생성자를 호출합니다. 메소드; super()는 상위 클래스 3에 의해 지정된 생성자를 호출하며, 생성자 메소드 4, super()의 첫 번째 문장에만 작성할 수 있습니다. 쓸 수 없고, 쓰지 않으면 기본적으로 상위 클래스의 매개변수 없는 생성자가 호출됩니다. 5. this()와 super()는 공존할 수 없으며, 둘 중 하나만 사용할 수 있습니다. 위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 많은 관련 비디오 튜토리얼 추천:java tutorial!
위 내용은 Java 키워드 super와 this는 무엇입니까? 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!