this

this是一个对象,它代表调用这个函数的对象。

面向对象的语法,都要按照 类名.变量(函数) 的格式,即每个变量或函数都必须属于某一个实际的对象而不是一个类(static除外)。

1. this访问类的成员变量,解决与局部变量名称冲突的问题:
 

class Person {
	int age;
	public Person(int age) {
		this.age = age;
	}
	public int getAge() {
		return this.age;
	}
}

2. this调用成员方法:

class Person {
	public void openMouth() {
		...
	}
	public void speak() {
		this.openMouth();
	}
}

此时的this可以省略。

3. 构造方法是在实例化对象时被jvm自动调用的,在程序中不能像调用其他方法那样去掉用构造方法,但可以在一个构造方法中使用this([参数1,参数2,...])的形式来调用其他构造方法:

class Person {
	public Person() {
		System.out.print("无参构造方法被调用");
	}
	public Person(String name) {
		this();
		System.out.print("有参构造方法被调用");
	}	
	public static void main(String args[]) {
		Person person = new Person("小张");
	}
}
//输出无参和有参调用了

注意:

1)只能在构造方法中使用this调用其他构造方法,而不能在其他函数中使用。

2)在构造方法中,使用this调用其他其他构造方法必须在第一行,且只能出现一次。

3)不能两个构造方法(一个类里)用this互调。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值