Java中this关键字的用法

this关键字必须放在非静态方法里面。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。

this的主要用途包含以下几个方面:

1.使用this关键字引用成员变量
2.使用this关键字引用成员方法
3.使用this关键字代表自身类的对象
4.使用this关键字在自身构造方法内部引用其它构造方法

例子:

public class ThisTest {
	private int i = 1;
	private int j;
	ThisTest thisTest;


	// 第一个构造器(只有一个int类型的形参)
	ThisTest(int i) {
		j = 1;
		// 此时this.i调用的是成员变量,i是函数参数
		System.out.println("这是第" + j + "个构造器中this.i的值:" + this.i);
		System.out.println("这是第" + j + "个构造器中参数i的值:" + i);
	}


	// 第二个构造器(只有一个String类型的形参)
	ThisTest(String name) {
		j = 2;
		System.out.println("这是第" + j + "个构造器中的参数name的值:" + name);
	}


	// 第三个构造器(有一个int类型和一个String类型的形参)
	ThisTest(int i, String name) {
		// 调用第二个构造器,会重新输出一遍
		this(name);
		
		//调用成员方法
		this.talk(name);
		System.out.println("this(name)调用的是第" + j + "个构造器的方法,参数为:" + name);
	}


	// 返回当前的对象
	public ThisTest show() {
		return this;
	}
	
	//成员方法
	public String talk(String name) {
		System.out.println("我是成员方法!");
		return name;
	}


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ThisTest test1 = new ThisTest(2);
		ThisTest test2 = new ThisTest("张三");
		ThisTest test3 = new ThisTest(2, "李四");
		System.out.println("当前对象的i的值为:" + test1.show().i);
	}


}
输出的结果:
这是第1个构造器中this.i的值:1
这是第1个构造器中参数i的值:2
这是第2个构造器中的参数name的值:张三
这是第2个构造器中的参数name的值:李四
我是成员方法!
this(name)调用的是第2个构造器的方法,参数为:李四
当前对象的i的值为:1

从结果中可以看到,在第一个构造器中this.i调用的是成员变量,而i则是构造器中的形参。从构造器3中可以看出this可以在自身构造方法内部引用其它构造方法以及调用成员方法,最后的输出表明可以使用this关键字代表自身类的对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值