> Java > java지도 시간 > 본문

this 키워드

WBOY
풀어 주다: 2024-08-02 07:40:03
원래의
724명이 탐색했습니다.

A palavra-chave this

정의:

  • 메서드를 호출하는 현재 개체에 대한 참조입니다.
  • 클래스의 모든 메소드에 자동으로 전달됩니다.

내부 메서드 사용:

  • 현재 인스턴스의 멤버(변수 및 메소드)에 액세스할 수 있습니다.
  • 모호함이 없는 경우 선택 사항이지만 동일한 이름을 가진 로컬 변수와 인스턴스 변수를 구별하는 데 필요합니다.

이것이 없는 예:

class Pwr {
    double b;
    int e;
    double val;

    Pwr(double base, int exp) {
        b = base;
        e = exp;
        val = 1;
        if (exp == 0) return;
        for (; exp > 0; exp--) val = val * base;
    }

    double get_pwr() {
        return val;
    }
}

로그인 후 복사

명시적인 사용:

  • 코드를 명확하게 하고 모호성을 해결합니다.
  • 이름 모호함을 해결하기 위한 사용 예:
class Pwr {
    double b;
    int e;
    double val;

    Pwr(double b, int e) {
        this.b = b;
        this.e = e;
        this.val = 1;
        if (e == 0) return;
        for (; e > 0; e--) this.val = this.val * b;
    }

    double get_pwr() {
        return this.val;
    }
}

로그인 후 복사

사용 시기:
이름이 지역 변수나 매개변수와 충돌할 때 인스턴스 변수에 액세스하는 데 유용합니다.
생성자 메서드에서 생성 중인 개체를 참조합니다.

class Pwr {
    double b;
    int e;
    double val;

    Pwr(double base, int exp) {
        this.b = base;
        this.e = exp;
        this.val = 1;
        if (exp == 0) return;
        for (; exp > 0; exp--) this.val = this.val * base;
    }

    double get_pwr() {
        return this.val;
    }
}

class DemoPwr {
    public static void main(String args[]) {
        Pwr x = new Pwr(4.0, 2);
        Pwr y = new Pwr(2.5, 1);
        Pwr z = new Pwr(5.7, 0);
        System.out.println(x.b + " raised to the " + x.e +
            " power is " + x.get_pwr());
        System.out.println(y.b + " raised to the " + y.e +
            " power is " + y.get_pwr());
        System.out.println(z.b + " raised to the " + z.e +
            " power is " + z.get_pwr());
    }
}

로그인 후 복사

설명:

  • Pwr 클래스는 숫자의 거듭제곱을 계산합니다.
  • 메서드 매개변수의 이름이 같은 경우 인스턴스 변수를 참조하기 위해 이 사용법을 보여줍니다.

위 내용은 this 키워드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿