java中this什么用
1、this挪用当前属性:其主要作用是当须要给类中的数据举行初始化时,能够经由过程this来举行赋值,而不必随意定义一个变量来举行赋值,更有利于代码的浏览与明白(引荐教程:java教程)
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、this挪用要领(一般要领、组织要领)
(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挪用必需是组织要领中的第一个语句,不然便会失足,固然也不能在一般要领中挪用组织要领。
最为主要的是,运用this挪用不能构成轮回,即不能构成递归挪用而没有出口。
3、this示意当前要领
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的定义没有变,只需有某一个对象挪用本类中的要领,此时this就示意当前实行的对象。
以上就是java中this什么用的细致内容,更多请关注ki4网别的相干文章!