0基础java入门:第二十九节.this关键字详解。

0基础java入门:第二十九节.this关键字详解。

首先我们来看一下this一般在哪里出现。

从上图可以看出我们在封装javabean时在 set方法和有参数构造方法中使用到了this。

this 本身有 这 这个的意思。this关键字再我们代码中时有出现。这里this关键字主要的作用是:this指代当前调用的对象。当一个类中的局部变量和成员变量同名,并且需要一起使用时,区分成员变量和局部变量。this.之后的变量是成员变量。下边我们通过代码来理解this的特性。

代码演示:

Worker类

package com.demo.test3;

public class Worker {
	// 定义一个成员变量name 赋值为 张三
	private String name = "张三";
	// 定义方法 test 参数是 name  ,这时方法体内 分别输出 this.name 和 name 调用之后观察结果
	public void test(String name){
		// 方法先输出 this.name
		System.out.println(this.name);
		// 后输出name
		System.out.println(name);
	}
}

Test1类

package com.demo.test3;

public class Test3 {
	public static void main(String[] args) {
		// 实例化变量 w1
		Worker w1 = new Worker();
		// 调用 方法test  并传递参数 值 是 李四
		w1.test("李四");
	}
}

运行结果:

分析一波:

Worker 类中定义有成员变量 name 赋值为 张三。test方法参数也是name,这里可以发现方法参数和成员变量同名。在test方法内输出了this.name 和 name 。

Test3 类中再主方法内,实例化对象 w1 之后调用 test方法参数是 李四。

观察结果 先输出的是 张三后输出的是李四 ,也就是说 this.name的值 是成员变量的值。而方法中输出的name的值是参数中name的值。说明 this.后的变量代表成员变量。

最后根据这个特性我们来理解一下实例化过程中对象赋值的关系。

上图中就是有参数实例化时,参数值传递给成员变量的过程。

上图就是通过set方法赋值时,参数传递给成员变量的过程。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值