"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > this 키워드

this 키워드

2024-08-14에 게시됨
검색:948

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 클래스는 숫자의 거듭제곱을 계산합니다.
  • 메서드 매개변수의 이름이 같은 경우 인스턴스 변수를 참조하기 위해 이 사용법을 보여줍니다.
릴리스 선언문 이 글은 https://dev.to/devsjavagirls/a-palavra-chave-this-2gha?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3