java中的this的作用,java中this是什么

  java中的this的作用,java中this是什么

  

  java this有什么用?

  java中this关键字的作用

  1.这就调用了current属性:它的主要作用是当类中的数据需要初始化时,可以由此赋值,而不是随便定义一个变量,这样更有利于代码的阅读和理解。

  比如:

  Class Book{//定义书的类别。

  私有字符串名称;//书籍名称

  私有int价格;//图书价格

  Book (string name,int price){//用这个来初始化类的数据

  this.name=name

  this.price=价格;

  }

  /*public Book(String n,int p){ //如果不使用这个关键字,只能这样赋值,不利于统一变量和属性。

  name=n;

  价格=p;

  }*/

  公共字符串getInfo(){

  退货图书:名称,价格:价格;

  }

  }

  公共类ThisDemo{

  公共静态void main(String args[]){

  System.out.printIn(新书( Java ,89.9)。getInfo())

  }

  }

  2.这就调用了方法(公共方法、构造方法)

  (1)常用方法:

  Class Book{//定义书的类别。

  私有字符串名称;//书籍名称

  私有int价格;//图书价格

  Book (string name,int price){//用这个来初始化类的数据

  this.name=name6 this.price=价格;

  this . print();//调用这种普通的方法。虽然不使用这个也可以调用这种普通的方法,但是最好加上一个好习惯,为了区分方法的定义来源。

  }

  公共字符串getInfo(){

  退货图书:名称,价格:价格;

  }

  公共作废打印(){

  system . out . printin( * * * * * * * * * * * *);

  }

  }

  公共类ThisDemo{

  公共静态void main(String args[]){

  System.out.printIn(新书( Java ,89.9)。getInfo())

  }

  }(2)构造方法:普通方法和构造方法的区别在于,构造方法在创建后只能使用一次来初始化数据,而普通方法在创建后可以多次调用。

  当需要使用构造方法输出相同的重复内容时,如果不使用这个关键字,就只能使用下面的代码:

  复制代码

  Class Book{//定义书的类别。

  私有字符串名称;//书籍名称

  私有int价格;//图书价格

  book(){//没有参数构造

  system . out . printin( * * * * * * * * * * * * * *);

  }

  Book(字符串名称){//单参数构造

  system . out . printin( * * * * * * * * * * * * * *);

  this.name=name

  }

  Book (string name,int price){//双参数构造

  system . out . printin( * * * * * * * * * * * * * *);

  this.name=name

  this.price=价格;

  }

  公共字符串getInfo(){

  退货图书:名称,价格:价格;

  }

  }

  公共类ThisDemo{

  公共静态void main(String args[]){

  System.out.printIn(新书( Java ,89.9)。getInfo())

  }

  }显然,这极大地浪费了代码行数,但这应该用来调用构造方法,如下所示:

  Class Book{//定义书的类别。

  私有字符串名称;//书籍名称

  私有int价格;//图书价格

  book(){//没有参数构造

  system . out . printin( * * * * * * * * * * * * * *);

  }

  Book(字符串名称){//单参数构造

  this();//调用该类中的无参数构造

  this.name=name

  }

  Book (string name,int price){//双参数构造

  这个(名字);//调用该类中的单参数构造

  this.price=价格;

  }

  公共字符串getInfo(){

  退货图书:名称,价格:价格;

  }

  }

  公共类ThisDemo{

  公共静态void main(String args[]){

  System.out.printIn(新书( Java ,89.9)。getInfo())

  }

  }注意:对这个的调用必须是构造函数中的第一条语句,否则会出错,当然也不能用正常的方法调用构造函数。

  最重要的是,使用这个调用不能形成循环,也就是不能形成没有出口的递归调用。

  3.这表示当前的方法。

  课堂用书{

  公共void fun(){

  System.out.printIn(趣味方法本);

  }

  }

  }

  公共类ThisDemo{

  公共静态void main(String args[]){

  Book b1=新书();

  system . out . printin( MAIN method B1);

  B1 . fun();//b1调用fun方法(this=b1)

  //两个输出结果的地址是一样的,说明此时这代表b1

  system . out . printin( * * * * * * * * * * * * * * * *)

  Book b2=新书();

  system . out . printin( MAIN method B2);

  B2 . fun();//此时输出结果与b2相同。

  }

  }在整个过程中,这个的定义一直没有变。只要某个对象调用该类中的方法,这就表示当前正在执行的对象。这就是java中使用这个的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: