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