5. this 키워드
1.this는 대상의 인용으로 항상 이 방법을 호출하는 대상을 가리킨다
2.this의 최대 역할: 클래스의 한 방법이 클래스의 다른 방법이나 실례 변수에 접근하도록 한다
2.this 키워드의 두 가지 용법
1. 방법에서 이 방법을 호출한 대상을 인용한다
public class Dog
{
public void jump()
{
System.out.println(" ");
}
public void run()
{
// this run()
this.jump();
System.out.ptintln(" ");
}
}
보1:this가 어떤 방법체에 나타나면 그 방법이 대표하는 대상은 확실하지 않지만 그 유형은 확정적이다(이것이 대표하는 것은 현재 클래스의 실례일 뿐). 이 방법이 호출될 때만 그 방법이 대표하는 대상이 확정된다(이 방법을 호출하는 사람은this가 누구를 대표한다)
보충2: 자바는 대상의 한 구성원이 다른 구성원을 직접 호출할 수 있도록 하고this 접두사를 생략할 수 있습니다
보3:this 접두사를 생략하는 것은 가상일 뿐이다. 상기 프로그램은jump() 방법 이전의this를 생략할 수 있지만 실제로 이this는 여전히 존재한다. 우리는 보통 구성원 변수, 방법의 대상을'주조'라고 부른다.자바 언어에서 구성원 변수, 방법을 호출할 때, 주조는 반드시 없어서는 안 된다. 코드에서 주조를 생략하더라도 실제 주조는 여전히 존재한다.일반적으로 정적 구성원을 호출할 때 앞의 주조를 생략하면 기본적으로 이 클래스를 주조로 사용한다.비정상적인 구성원을 호출할 때 앞의 메인을 생략하면 기본적으로this를 메인으로 사용합니다.
보4: 같은 클래스의 한 방법이 다른 방법을 호출할 때, 변조된 방법이 정적 방법이라면 기본적으로 클래스를 호출자로 사용합니다.만약 호출 방법이 일반적인 방법이라면,this를 호출자로 기본적으로 사용합니다.표면적으로는 어떤 방법이 독립적으로 집행될 수 있을 것 같지만 실제로는 클래스나this를 호출자로 사용한다.
2. 구조기에서 이 구조기가 초기화하고 있는 대상을 인용
public class ThisInConstructor
{
public int a;
public ThisInConstructor()
{
// a
int a = 0;
// this
this.a = 6;
}
}
보1: 구조기는 대상을 사용하지 않고 new 키워드를 직접 사용하기 때문에this는 구조기에서 이 구조기가 초기화되고 있는 대상을 대표합니다.(일반적인 실례 방법에서this를 사용할 때 일반적인 실례 방법은 대상에서 호출되고 구조기는 new 키워드에서 호출되며 이 때 존재하는 대상은 외부 프로그램에 접근할 수 없기 때문에this는 구조기에서 이미 생성된 대상을 대표할 수 없고 이 구조기가 초기화되고 있는 대상만 대표할 수 있음을 알아야 한다.)
보2: 객체를 작성하는 기본 경로는 구조자입니다. 예를 들어 "ThisInConstructor th = new ThisInConstructor()"인스턴스를 작성합니다.문장은 바로 new 키워드를 통해 이 종류의 구조기를 호출합니다.
3. static 수식 방법에서this를 사용할 수 없습니다
1. 정적 방법에서this 키워드를 사용하면this는 적당한 대상을 가리킬 수 없습니다. 정적 방법은 클래스에서 호출되기 때문입니다.
2. 정적 방법에서this를 사용할 수 없기 때문에 정적 방법은static 수식을 사용하지 않는 일반 구성원에게 접근할 수 없습니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.