【Java基础】(十)关键字this

扶醉桌前 提交于 2020-02-24 14:25:24


this在自定义的类的方法中使用,有两种使用方法。

一、this指代具体的对象

在我编写本类方法时,有时可能会需要使用本类的对象,这时候我们利用this代替该对象。
比如在我们set的方法中。
在这里插入图片描述
在这里,我们有两个carNum,一个是我们要传进来的参数,另一个呢,是我们的成员变量。为了区分这两个,我们就用了this来代表我们这个类的一个对象。
此时的this的用法,就和你在类外去使用一个这个类的对象是一样的。this.carNum也就是我们这个类对象的carNum属性。单独的carNum呢,就是我们传进来的参数。同理,你也可以用this来访问本类中的方法。

不知道有没有人和我学的时候一样,有个困扰,既然是名字重了,那我给改个名字不就好了。
其实是可以的,至于为什么不这么做呢,我是下面这样理解的。
比如我们如果有个学生类,属性中有个 “姓名”,我们参数整了个 “叫啥”,其实可以解决问题,但总是容易给人造成困扰,我想要姓名,你给我弄了个叫啥来,那这个叫啥和姓名是一样的吗,还是不一样?这就会造成困惑。
当然,这也仅仅是我的个人理解。

二、this也可表示当前类的构造方法

在我们编写类的方法时,不能直接访问类的构造方法,但可以用this来表示类的构造方法。
例如:还是我们之前的Car类,我们在构造类时不一定每次传多少个参数,因此我们需要对我们的构造方法进行重载,在重载时,我们可以用 参数多的构造方法 调用 参数少的构造方法。

	//仅展示Car中设计本次内容的三个构造方法
	public Car(String carNum, String color, String logo, int num) {
		this(carNum, color, logo);  //this也可表示当前类的构造方法
		this.num = num;
	}
	
	public Car(String carNum, String color, String logo) {
		this(carNum, color);
		this.logo = logo;
	}

	public Car(String carNum, String color) {
		
		this.carNum = carNum;
		this.color = color;
	}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!