Java
1. 이것은 현재 속성을 호출합니다: 주요 기능은 클래스에서 데이터를 초기화해야 할 때 이를 통해 할당할 수 있다는 것입니다. 부담없이 정의하는 대신 변수를 사용하여 코드를 읽고 이해하는 데 도움이 됩니다 (추천 튜토리얼: java tutorial)
class Book{//定义书的类 private String name;//书本名字 private int price;//书本价格 public Book(String name,int price){ //使用this对类的数据进行初始化 this.name = name; this.price = price; } /*public Book(String n,int p){ //若不使用this关键字只能这样进行赋值,不利于将变量与属性统一起来 name = n; price = p; }*/ public String getInfo(){ return "书籍:" + name + ",价格:" + price; } } public class ThisDemo{ public static void main(String args[]){ System.out.printIn(new Book("Java",89.9).getInfo()) } }
2. (일반 메서드, 생성자 메서드)
( 1) 일반 메서드:
class Book{//定义书的类 private String name;//书本名字 private int price;//书本价格 public Book(String name,int price){//使用this对类的数据进行初始化 this.name = name; 6 this.price = price; this.print();//调用本类普通方法,虽然可以不用使用this也可以进行本类普通方法的调用,但是好的习惯最好应该加上,目的是可以区分方法的定义来源 } public String getInfo(){ return "书籍:" + name + ",价格:" + price; } public void print(){ System.out.printIn("***********"); } } public class ThisDemo{ public static void main(String args[]){ System.out.printIn(new Book("Java",89.9).getInfo()) } }
(2) 생성자 메서드: 일반 메서드와 생성자 메서드의 차이점은 생성자 메서드는 생성 후 한 번만 사용하여 데이터를 초기화할 수 있다는 점입니다. 일반 메서드는 생성 후 여러 번 호출될 수 있습니다.
동일한 반복 내용을 출력하기 위해 생성자 메서드를 사용해야 하는 경우 this 키워드를 사용하지 않으면 다음 코드만 사용할 수 있습니다.
class Book{//定义书的类 private String name;//书本名字 private int price;//书本价格 public Book(){//无参构造 System.out.printIn("*************"); } public Book(String name){//一参构造 System.out.printIn("*************"); this.name = name; } public Book(String name,int price){//二参构造 System.out.printIn("*************"); this.name = name; this.price = price; } public String getInfo(){ return "书籍:" + name + ",价格:" + price; } } public class ThisDemo{ public static void main(String args[]){ System.out.printIn(new Book("Java",89.9).getInfo()) } }
분명히 이는 코드 줄 수를 크게 낭비하며, this는 생성자 메서드를 호출하는 데 사용해야 합니다. 메서드는 다음과 같습니다.
class Book{//定义书的类 private String name;//书本名字 private int price;//书本价格 public Book(){//无参构造 System.out.printIn("*************"); } public Book(String name){//一参构造 this();//调用本类中的无参构造 this.name = name; } public Book(String name,int price){//二参构造 this(name);//调用本类中的一参构造 this.price = price; } public String getInfo(){ return "书籍:" + name + ",价格:" + price; } } public class ThisDemo{ public static void main(String args[]){ System.out.printIn(new Book("Java",89.9).getInfo()) } }
참고: this에 대한 호출은 생성자의 첫 번째 문이어야 합니다. 그렇지 않으면 오류가 발생합니다. 일반적인 방법.
가장 중요한 것은 이것을 호출하면 루프를 형성할 수 없다는 것입니다. 즉, 종료 없이 재귀 호출을 형성할 수 없습니다.
3. 이것은 현재 메서드를 나타냅니다.
class Book{ public void fun(){ System.out.printIn("FUN方法"+this); } } } public class ThisDemo{ public static void main(String args[]){ Book b1 = new Book(); System.out.printIn("MAIN方法"+b1); b1.fun();//有b1调用fun方法(this = b1) //两个输出结果的地址一样,代表着此时this代表着b1 System.out.printIn("*************") Book b2 = new Book(); System.out.printIn("MAIN方法"+b2); b2.fun();//此时输出结果和b2一样 } }
프로세스 전반에 걸쳐 this의 정의는 변경되지 않았습니다. 특정 개체가 이 클래스의 메서드를 호출하는 한 이는 현재 실행 중인 개체를 나타냅니다.
위 내용은 자바에서 이것의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!