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

来源:互联网 发布:笔记本文具 知乎 编辑:程序博客网 时间:2024/05/29 17:43

一、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修饰的方法中使用。


0 0
原创粉丝点击