栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA--this引用(详细)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA--this引用(详细)

目录

1.为什么要有this

2. this引用的3种方法

   ①在实例方法(注意不是static方法)中作为本类当前对象将其引用作为自变量传递给其他方法。如

   ②在实例方法(注意不是static方法)中引用本类当前对象的成员变量和成员方法。

   ③调用本类重载的构造方法。


1.为什么要有this

   一般地,成员变量和成员方法被视作蓝图或模板以供将来调用,因此定义时不立即具体
化,即不在定义时赋值或调用,而是等到了其他方法或 main()中,才给予调用或赋值。那么
对于将来要调用成员变量和成员方法的对象用什么变量表示呢,Java 给起了个名字叫 this。
this 表示的是当前对象本身,确切地说,this代表了当前对象的一个引用。对象的引用可以
理解为对象的另一个名宇,通过引用可以顺利地访问对象。在 Java 中,this既可以引用当
前对象中的方法,也可以引用当前对象中的成员变量。
   当前对象作为变量指代将来任何将来任何一个代表本类对象使得编程能力大增。这和自然语言中的“这个“那个”具有同样的意思,通过指代,使得语言简洁,也具有灵活性。 

2. this引用的3种方法

   ①在实例方法(注意不是static方法)中作为本类当前对象将其引用作为自变量传递给其他方法。如
en=new Event(this);

设想某方法要求将当前对象添加到等待服务的队列中,可以这样:

service.add(this);

以及返回对象:

return this;

输出当前对象:System.out.println(this);其自动调用超类或Oject的toString()方法。


   ②在实例方法(注意不是static方法)中引用本类当前对象的成员变量和成员方法。

   通过this可以引用当前对象的成员变量,调用当前对象的成员方法。语法格式如下:

    this.成员变量
    this.成员方法([参数列表])  

当声明一个类的多个对象时,使用this指代将来的对象,即this相当于汉语中的“自己”的意思。当没有同名成员时,在当前的方法中,this引用可以省略。如在Flower类的setAttribute()方法中,对成员变量color和name的赋值运算省略了this引用。

  不省略this引用的方法实现形式如下:

void setAttribute(String c,String n){
  this.color.c;
  this.name=n;
}

   当成员方法的参数与成员变量同名时,在方法体中的变量默认位参数变量,此时需要使用this引用成员变量,this不用省略。例如:

void setAttribute(String color,String name){
  this.color.color;  //this.color代表将来引用对象的color,而
  this.name=name;    //赋值号后面的color代表参数中的color.
}

   ③调用本类重载的构造方法。

   this还可以在重载的构造方法(注意此处不能时别的方法)中,调用本类已定义的构造方法。语法格式如下:

this([参数列表]);

例如,将前述Flower类多个重载的构造方法改写如下:

public Flower(String c,String n){    //指定参数的构造方法
       color=c;
       name=n;
} 
public Flower(){                 //无参的构造方法
    this("unkown","unkown");     //调用本类已定义的构造方法
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号