this关键字

举报
Java的学习之路 发表于 2022/03/24 11:19:16 2022/03/24
【摘要】 为什么需要this关键字下面我们通过下面的代码来体会一下class Test{ public static void main(String[]args){ User user=new User("tom"); System.out.println(user.name); }}class User{ String name; int age; public User(String na...

为什么需要this关键字

下面我们通过下面的代码来体会一下

class Test{
	public static void main(String[]args){
		User user=new User("tom");
		System.out.println(user.name);


	}

}

class User{

	String name;
	int age;
	public User(String name){
		name=name;
	}
}

最后输出的结果是null,和我们想象的结果不一样,原因是变量是有它的作用域的,而且是就近原则,构造器里面左边的name是形参里面的name,而不是User类里面的name,这样子就和我们的要求不一样了,所以需要使用this关键字

this关键字

this指的是当前对象

class User{

	String name;
	int age;
	public User(String name){
		this.name=name;
	}
}

this.name指的就是当前对象的name,而不是形参的name
在这里插入图片描述
在这里插入图片描述

this关键字的注意事项

  1. this 关键字可以用来访问本类的属性、方法、构造器

  2. this 用于区分当前类的属性和局部变量

  3. 访问成员方法的语法: this.方法名(参数列表);

  4. 访问构造器语法: this(参数列表); 注意只能在构造器中使用(即只能在构造器中访问另外一个构造器, 必须放在第一 条语句)

  5. this 不能在类定义的外部使用,只能在类定义的方法中使用。

this的理解

一个对象有一个this,this指的是当前对象

保存内存地址指向自身
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。