Java培训教程之this关键字讲解

前面小节中,类在定义成员方法时,局部变量和成员变量可以重名,但此时不能访问成员变量。为避免这种情形,Java提供了this关键字,表示当前对象,指向调用的对象本身。接下来演示this的本质,如例4-1所示。

例4-1 TestThis.java

1 class Person {

2 public void equals(Person p) {

3 System.out.println(this); // 打印this的地址

4 System.out.println§; // 打印对象地址

5 if (this == p) // 判断当前对象与this是否相等

6 System.out.println(“相等”);

7 else

8 System.out.println(“不相等”);

9 }

10 }

11 public class TestThis {

12 public static void main(String[] args) {

13 Person p1 = new Person();

14 Person p2 = new Person();

15 p1.equals(p1);

16 p1.equals(p2);

17 }

18 }

程序的运行结果如图4.1所示。
在这里插入图片描述

图4.1 例4-1运行结果

在图4.1中,从程序运行结果可发现,关键字this和调用对象p1的值相等,都保存了指向堆内存空间的地址,也就是说,this就是调用对象本身。因此,调用对象p1的this与p2对象不相等。

this关键字在程序中主要有三种用法,下面来分别讲解各种用法:

1.使用this调用类中的属性

this关键字可以明确调用类的成员变量,不会与局部变量名发生冲突。接下来演示this调用属性,如例4-2所示。

例4-2 TestThisRefAttr.java

1 class Person {

2 private String name;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值