>  기사  >  Java  >  Java 키워드 super와 this는 무엇입니까? 차이점은 무엇입니까?

Java 키워드 super와 this는 무엇입니까? 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2018-11-21 14:08:475724검색

이 글의 내용은 자바 키워드 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(); 
	} 
}

실행 결과:

Java 키워드 super와 this는 무엇입니까? 차이점은 무엇입니까?

참고: 다음에서만 사용할 수 있습니다. 클래스 비정적 메서드에 사용되며 정적 메서드 및 정적 코드 블록에 표시되어서는 안 됩니다.

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(); 
	} 
}

실행 출력:

Java 키워드 super와 this는 무엇입니까? 차이점은 무엇입니까?

차이 요약: # 🎜🎜#

this 키워드: 현재 객체, 즉 현재 클래스 객체를 나타내며, 현재 클래스 멤버(변수 및 메서드)를 호출합니다.

super 키워드: 나타냅니다. 현재 클래스의 상위 클래스는 상위 클래스의 멤버(변수 및 메서드)를 호출합니다.

this는 super보다 사용 범위가 더 넓습니다.

this() 및 super()에 대한 간략한 소개

1. ( )는 생성자

2에서만 사용할 수 있습니다. this()는 이 클래스의 생성자를 호출합니다. 괄호 안에 형식 매개변수가 있으면 이 클래스의 해당 매개변수의 생성자를 호출합니다. 메소드; super()는 상위 클래스

3에 의해 지정된 생성자를 호출하며, 생성자 메소드

4, super()의 첫 번째 문장에만 작성할 수 있습니다. 쓸 수 없고, 쓰지 않으면 기본적으로 상위 클래스의 매개변수 없는 생성자가 호출됩니다.

5. this()와 super()는 공존할 수 없으며, 둘 중 하나만 사용할 수 있습니다.

위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 많은 관련 비디오 튜토리얼 추천:

java tutorial!

위 내용은 Java 키워드 super와 this는 무엇입니까? 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.