this的用法

Posted 九零大叔芭蕉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this的用法相关的知识,希望对你有一定的参考价值。

关于this的用法

this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。

 

this关键字主要有三个应用:
  1.this调用本类中的属性,也就是类中的成员变量;
 2.this调用本类中的其他方法(成员方法);
 3.this调用本类中的其他构造方法,调用时要放在构造方法的首行。
4.代表自身对象

1. this调用本类中的其他方法(成员方法)

如果在一个方法中调用同一个类中另外的方法可以不使用this,如:

 

 1 public class TestClass {
 2     public void test1(){
 3         System.out.println(123);
 4     }
 5     public void test2(){
 6         test1();
 7         /*
 8          * this.test1();这种写法也可以
 9          * 不过一般我们不这样写
10          */
11     }
12 }

 2.代表自身对象(当前对象)

 

 1 public class TestClass {
 2     public void test(){
 3         System.out.println(this);
 4     }
 5     public static void main(String[] args) {
 6         TestClass t=new TestClass();
 7         t.test();
 8     }
 9     /*
10      * 输出结果[email protected]
11      */
12 }

 

3.this调用本类中的其他构造方法,调用时要放在构造方法的首行。

 1 package test;
 2 
 3 public class demo {
 4     int petalCount=0;
 5     String s="abc";
 6     
 7     demo(int petal){
 8         this.petalCount=petal;
 9         /*
10          * petalCount=petal表达式相当于this.petalCount=petal,
11          * 因为参数和变量名不重叠,所以this可以省略,
12          * 如果参数也是petalCount,则只能使用this.petalCount=petal表达式;
13          */
14         System.out.println("参数为int类型的构造器: "+petal);
15     }
16     demo(String ss){
17         System.out.println("参数为String类型的构造器: "+ss);
18         //s=ss表达式相当于this.s=ss;
19         this.s=ss;
20     }
21     demo(String s,int petal){
22         /*
23          * 只能用this调用一个构造器
24          * 且this必须位于第一行
25          */
26         this(petal);
27         //this(s);
28         this.s=s;
29         System.out.println("String和int类型参数的构造器");
30     }
31     demo(){
32         this("hi",47);
33         System.out.println("无参构造器");
34     } 
35     void printPetalCount(){
36         //不在非构造函数内,不能使用
37         //this(11);
38         System.out.println("printPetalCount方法输出结果:patalCount= "+ petalCount +"    s= "+s );
39     }
40     public static void main(String[] args) {
41     demo d=new demo();
42     d.printPetalCount();
43     }
44 }
45 /*
46  * 输出结果
47  * 参数为int类型的构造器: 47
48  * String和int类型参数的构造器
49  * 无参构造器
50  * printPetalCount方法输出结果:patalCount= 47    s= hi
51  */

 

以上是关于this的用法的主要内容,如果未能解决你的问题,请参考以下文章

laravel特殊功能代码片段集合

vue2.0 代码功能片段

SQL Select 语句的用法

ngx-translate实现国际化:this.translate.use()this.translate.get()this.translate.instant()onLangChange(代码片段

在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]

在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]