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/天,具体规则查看活动详情