Java中this分类以及在各分类下的用法或规则

一、this作为本类当前对象的引用

用法:

1.方法中当前对象的成员变量与定义的局部变量重名时用this进行区分。例如:变量名:variate,那么方法中的this.variate代表当前对象的成员变量variate,variate代表方法中定义的局部变量。

代码示例

2.作为方法的参数,传递本能对象的引用。

代码示例

3.作为方法的返回值,返回当前对象。

代码示例


二、this(参数1,参数2,......,参数n)方法用来调用本类其他的构造方法

使用规则:

1.该方法只能在本类的构造方法中使用。

2.为了便于理解,你可以将this(参数1,参数2,......,参数n)方法中的this看成本类类名,这样看起来就像是构造方法了。

3.该方法只能在构造方法方法体的第一行使用。

4.从第3点可知,在一个构造方法中最多只能调用一个this(参数......)方法。

5.要防止构造方法陷入死循环。比如类中有多个构造方法都有一个this(参数1,参数2,......,参数n),并且使含有this(参数1,参数2,......,参数n)方法的构造方法形成一个循环,会导致程序出现死循环。

代码示例


三、在内部类或匿名类中使用this时,代表内部类或匿名类本身。如果想在内部类或匿名类中使用外部类的方法或者属性,则必须在前面加上外部类的类名。

格式:外部类类名.this.方法名()。

代码示例


注:this不能在使用static修饰的方法中使用。static修饰的方法为静态方法或类方法,在类加载时就存在了,this关键字代表本类当前对象的引用,需要对类实例化(创建对象时)才在内存中产生。static修饰的方法为类和所有的本类对象共享,但是在没有对象的时候也可以使用类调用,所以this不能在使用static修饰的方法中使用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值