Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 이에 대한 참조를 할당할 수 있습니까?


"이" Java의 키워드는 인스턴스 메소드 또는 생성자 내에서 현재 객체에 대한 참조로 사용됩니다. 이를 이용하여 생성자, 변수, 메소드 등 클래스의 멤버를 참조할 수 있습니다.

Java에서 이에 대한 참조를 할당할 수 있습니까?

"this"에 대한 참조 할당

"이것"의 정의에 따르면 현재 객체(이를 사용 중인 생성자/메서드의 객체)에 대한 참조 역할을 하는 키워드이며 값 id는 고정되어 있습니다. 따라서 새 참조 값을 할당할 수 없습니다. 게다가 변수가 아니라 키워드일 뿐입니다.

그래도 "this"에 참조 값을 할당하려고 하면 컴파일 오류가 발생합니다.

예시

다음 Java 프로그램에서 클래스(ExampleClass)에는 두 개의 개인 변수 이름, age 및 이러한 변수를 인스턴스화하는 매개변수화된 생성자가 있습니다. display라는 메서드에서 에 새 ​​값을 할당하려고 합니다. "이것" .

public class ExampleClass {
   private String name;
   private int age;
   public ExampleClass(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void display(){
      this = new ExampleClass("krishna", 23);
   }
}

컴파일 시간 오류

컴파일할 때 이 프로그램은 아래와 같은 오류를 제공합니다 -

ExampleClass.java:14: error: cannot assign a value to final variable this
      this = new ExampleClass("krishna", 23);
      ^
1 error