javathis 용법 상세 및 간단한 실례

2406 단어 javathis
javathis 용법 상세 설명
클래스 이름으로 변수를 정의할 때, 정의된 것은 단지 하나의 인용일 뿐, 바깥쪽은 이 인용을 통해 이 클래스 안의 속성과 방법에 접근할 수 있다.
그 종류 중에는 자신의 속성과 방법에 접근할 수 있는 인용도 있어야 합니까?
허허, JAVA는 좋은 것을 제공했다. 바로this 대상이다. 이것은 클래스에서 이 클래스의 속성과 방법을 인용할 수 있다.먼저 간단한 예를 들자.

public class ThisDemo { 
 String name="Mick";
 public void print(String name){
  System.out.println("  name="+this.name);
  System.out.println(" ="+name);
 } 
 public static void main(String[] args) {
  ThisDemo tt=new ThisDemo();
  tt.print("Orson");
 }
}
반환 클래스 자체의 인용에 대해 는 매우 고전적인 예가 있다.
this라는 키워드를 통해 자신의 대상을 되돌려주고 한 문장에서 여러 번 조작을 하거나 붙여줍니다.

public class ThisDemo { 
 int number;
 ThisDemo increment(){
   number++;
   return this;
 } 
 private void print(){
   System.out.println("number="+number);
 }
 public static void main(String[] args) {
  ThisDemo tt=new ThisDemo();
   tt.increment().increment().increment().print();
 }
}
한 클래스에서 두 개의 구조 함수를 정의하고 한 구조 함수에서this라는 인용을 통해 다른 구조 함수를 호출합니다. 이렇게 하면 실현될 수 있습니다.
이런 실현 메커니즘은 실제 응용 개발을 할 때 어떤 용도가 있습니까?다음 코드를 붙여 넣습니다.

public class ThisDemo { 
 String name;
 int age;
 public ThisDemo (){ 
  this.age=21;
 }  
 public ThisDemo(String name,int age){
  this();
  this.name="Mick";
 }  
 private void print(){
   System.out.println(" ="+this.name);
   System.out.println(" ="+this.age);
 }
 public static void main(String[] args) {
  ThisDemo tt=new ThisDemo("",0); // 
  tt.print();
 }
}
위의 코드를 보면 매우 짧지만 이해하면 매우 순조로운 것 같다. 파라미터가 있는 구조 함수에서name는 파라미터가 없는 가운데서age속성을 부여한다.
하지만 개인적으로 문제가 있다고 생각합니다. 하나의 클래스를 실례화하려면 먼저 대상인ThisDemo에 메모리를 분배하고 구조 함수인ThisDemo(Stringname, intage)를 호출해야 합니다.
첫 번째 줄을 실행할 때 This Demo () 구조 함수를 호출합니다. 즉, 여기에 두 개의 메모리 공간이 있을 것입니다. 하나는 This Demo (String name, intage) 를 위한 메모리 공간이고, 다른 하나는 This Demo () 실행 공간입니다.
왜 마지막으로 출력된 결과는 하나의 대상에 있는 두 개의 속성name과agena를 실례화한 것입니까?소에게 가르침을 주십시오!
요약:
1)this 키워드는 클래스 내부에서 자신에 대한 인용으로 클래스에서 자신의 속성에 접근하는 방법을 편리하게 할 수 있다.
2) 대상의 자기와 같은 종류의 인용을 되돌릴 수 있고 하나의 구조 함수에서 다른 구조 함수를 호출할 수 있다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기