java中的this关键字是什么意思 都有那些用法

java中的this关键字是什么意思   都有那些用法

this关键字就是当前对象的意思,他的用法如下


this关键字,用在一个类的方法里面

我所知道的this大概有四种用法

第一:引用类的字段属性

如下我们 熟悉的代码片段


@DynamicUpdate(value = true)
public class city {
	private int cityid;
	private String cityname;
	private int areaid;
	
	@Id
	@Column(name = "City_id", unique = true, nullable = false)
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	public int getCityid() {
		return cityid;
	}
	public void setCityid(int cityid) {
		this.cityid = cityid;
	}
方法里面我们使用了this关键字,他得到的是这个类的属性cityid的属性字段,而后面跟的 cityid 他表示就是传递过来的参数


第二:初始化默认的私有构造或共有的构造函数

如下代码


package springMVC.NLoveB.utils;

public class test {

	String name;
	int age;

	private test() {
		this.name = "likilone";
	}

	public test(int age) {
		this();
		this.age = age;
	}

	private void print() {
		System.out.println("修改" + this.name+"的年龄为:"+this.age);
	}

	public static void main(String[] args) {
		test t = new test(21); // 随便传进去的参数
		t.print();
	}
}


以上代码,用户的年龄是保护对象,不允许修改,被封装到了默认的构造函数中

在实例化这个类时,我们只能使用重载的构造函数来实例化

注意重载的构造函数中我们使用了this()

this():表示调用当前对象的默认的构造函数

你还可以这样,如代码片段


public test(int age) {
	this(5,5);
	this.age = age;
}
public test(int age,int aa) {
	this();
	this.age = age;
}
请注意,如果调用构造函数,this一定要放在方法下面的第一行,就时说他首先在方法里执行


第三:调用当前类的其他方法

这个就好理解了哈

根据上面的说明

this时可以调用其他方法的,不管时私有还时共有

值时调用其他方法,你应该这样操作,如下代码


private void print() {
	System.out.println("修改" + this.name+"的年龄为:"+this.age);
	this.print1();
}
private void print1() {
	System.out.println("修改" + this.name+"的年龄为:"+this.age);
}

使用[this.方法]的形式取调用另一个方法

this.print1();可以放在任何合适的地方

所有合适的地反,那里都可以方,只要你让他执行到,语法没错就行

第四:作为参数

this 他表示的是当前对象,所以他当然可以作为参数传递给另外一个方法使用

如下代码所示


private void print1() {
	System.out.println("修改" + this.name+"的年龄为:"+this.age);
	new aaa().bbb(this);
}
本示例的类名是test


上面这段表示了 类aaa的方法bbb接收test类型的参数,如aaa类中的bbb方法是如下定义的


public void bbb(test t) {
	//省略
}
好了,目前为所能想到,this的用法就是这四种,欢迎大家补充说明



爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img