Java this关键字


Java面向对象
完整代码
this关键字的作用
        Ø解决局部成员变量名重名问题给成员赋值
        Ø代指当前对象
        Ø在构造方法中可以调用本类中其他构造
        Ø调用当前对象中其他成员方法

以上四种作用中解决局部成员变量名重名问题给成员赋值的作用最为常用将会注重介绍
其余四种作用可以仅作了解
解决局部成员变量名重名问题给成员赋值
错误示范

	public WifeConcubine(String name) {
		name=name;
		System.out.println(name+"对象已被创建");
	}

由于变量引用的就近原则 name=name本质上是自己对自己赋值 对象的name属性并没有被调用赋值
此时便需要this关键字来强制引用对象的属性
示范

	public WifeConcubine(String name) {
		this.name=name;
		System.out.println(name+"对象已被创建");
	}

加入this关键字便可以将构造参数的值赋给对象的属性

此时控制台输出
在这里插入图片描述
代指当前对象
当对象创建完成后 在构造方法或普通方法中this可以引用到对象的内存地址
比如
在WifeConcubine类中修改构造方法和flowerViewing方法中加入
System.out.println(this);
在主函数中加入打印xiuying对象的内存地址语句
System.out.println(xiuying);

	public WifeConcubine(String name) {
		System.out.println(this);//代指当前对象
		this.name=name;
		System.out.println(name+"对象已被创建");
	}
	public void flowerViewing() {
		System.out.println("这是一个赏花的行为");
		System.out.println(this);
	}	
	
		//创建一个嫔妃对象 李秀影
		WifeConcubine xiuying; //创建一个数据类型为 WifeConcubine 我们自己定义的一个类 可以当作数据类型来用 
		xiuying= new WifeConcubine("李秀影");//将李秀影对象进行实例化 取得对象所需要的属性及方法 可以理解为对对象进行赋值
		System.out.println(xiuying);//用于验证

控制台输出
在这里插入图片描述
通过控制台的输出可知
this可以代指当前创建的对象

在构造方法中可以调用本类中其他构造
在构造方法中直接使用this可以条用其他构造方法
示例
在无参的构造方法中调用有参构造

	public WifeConcubine() {
		this("王梦竹");//调用有参构造方法
		System.out.println("对象已被创建");
	}

Simulation中创建一个嫔妃对象 王梦竹 同时会调用无参的构造方法 构造方法中this同时会调用有参构造对其进行赋值

		//创建一个嫔妃对象 王梦竹 同时会调用无参的构造方法 构造方法中this同时会调用有参构造对其进行赋值
		WifeConcubine mengzhu= new WifeConcubine();

控制台输出
在这里插入图片描述
注意事项
this() 在调用构造方法时候必须在第一行
调用当前对象中其他成员方法
this可以调用当前对象的其它方法
示例:

	//赏花
	public void flowerViewing() {
		System.out.println("这是一个赏花的行为");
		this.eat();
	}

此时吃饭方法的输出语句将会输出两遍
控制台输出
在这里插入图片描述

文章是作者面向对象文章的单独拆分如果存在阅读不连续性请参考下文

Java面向对象
完整代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值