산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바의 this 키워드:What is &How to use with Example

자바에서 이 키워드는 무엇입니까?

자바의 이 키워드 메서드 또는 생성자의 현재 개체를 참조하는 참조 변수입니다. 자바에서 이 키워드를 사용하는 주된 목적은 같은 이름을 가진 클래스 속성과 매개변수 사이의 혼동을 없애기 위함입니다.

다음은 Java에서 'this' 키워드의 다양한 용도입니다.

동영상에 액세스할 수 없는 경우 여기를 클릭하십시오.

예를 들어 'this' 키워드를 이해하세요.

<중앙>

<그림>

  1. 수업 :클래스 계정
  2. 인스턴스 변수 :및 b
  3. 방법 세트 데이터 :및 b의 값을 설정합니다.
  4. 방법 표시 데이터 :및 b에 대한 값을 표시합니다.
  5. 주요 방법: 여기서 Account 클래스에 대한 개체를 만들고 데이터를 설정하고 데이터를 표시하는 메서드를 호출합니다.

코드를 컴파일하고 실행합시다.

A와 B에 대한 예상 출력은 각각 값 2와 3으로 초기화되어야 합니다.

하지만 값은 0, 왜? 조사하자.

Set 데이터 메서드에서 인수는 및 b로 선언되고 인스턴스 변수도 및 b로 명명됩니다.

실행하는 동안 컴파일러가 혼동됩니다. 할당된 연산자의 왼쪽에 있는 "a"가 인스턴스 변수인지 로컬 변수인지 여부. 따라서 메소드 집합 데이터 호출 시 ''의 값을 설정하지 않습니다.

해결책은 "this" 키워드입니다.

자바 this 키워드 뒤에 점(.) 연산자가 오는 'a'와 'b'를 모두 추가합니다.

코드 실행 중 객체가 'setdata' 메서드를 호출할 때. 키워드 'this'는 객체 핸들러 'obj'로 대체됩니다. (아래 이미지 참조).

이제 컴파일러는 알고 있습니다.

변수가 올바르게 초기화되고 예상 출력이 표시됩니다.

인스턴스 변수와 메소드 인수에 대해 다른 이름을 선택할 수 있을 만큼 똑똑하다고 가정합니다.

하지만 이번에는 각각 set data 메소드를 호출하는 두 개의 클래스 객체를 생성합니다.

컴파일러가 개체 1 또는 개체 2의 인스턴스 변수에서 작동할지 여부를 결정하는 방법.

음, 컴파일러가 암시적으로 추가합니다. "this" 키워드가 있는 인스턴스 변수(아래 이미지).

객체 1이 set data 메소드를 호출할 때 인스턴스 변수가 참조 변수에 의해 추가되도록 합니다.

객체 2가 set data 메소드를 호출하는 동안 객체 2의 인스턴스 변수가 수정됩니다.

이 프로세스는 컴파일러 자체에서 처리됩니다. 우리의 예와 같은 예외적인 상황이 아니라면 'this' 키워드를 명시적으로 추가할 필요가 없습니다.

예: "this" 키워드 사용을 배우려면

1단계) 다음 코드를 메모장에 복사하세요.

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

2단계) 코드를 저장, 컴파일 및 실행합니다.

3단계) &b의 값이 0으로 표시됩니까? 오류를 수정하려면 6번과 7번 줄에 “this를 추가하세요. ” 키워드.

this.a =a;
this.b =b;

4단계) 코드를 저장, 컴파일 및 실행합니다. 이번에는 &b의 값이 각각 2와 3으로 설정됩니다.

요약


java

  1. 자바 이 키워드
  2. 예제가 있는 C#의 인터페이스란?
  3. 예제가 있는 C# 대기열:C# 대기열이란 무엇이며 어떻게 사용합니까?
  4. C 라이브러리의 free() 함수:어떻게 사용합니까? 예제로 배우기
  5. Java의 String Length() 메서드:예제로 찾는 방법
  6. 예제가 있는 Java 문자열 charAt() 메서드
  7. Java String compareTo() 메서드:예제와 함께 사용하는 방법
  8. 예제가 포함된 Java 문자열 endWith() 메서드
  9. Java BufferedReader:예제를 사용하여 Java에서 파일을 읽는 방법
  10. 프로그램 예제가 있는 Java의 삽입 정렬 알고리즘