this关键字的三种用法

this关键字的三种用法

super关键字用来访问父类内容,而this关键字用来访问本类内容。用法也有三种:

在本类的成员方法中,访问本类的成员变量。

在本类的成员方法中,访问本类的另一个成员方法。

在本类的构造方法中,访问本类的另一个构造方法。

在第三种用法当中要注意:

A. this(…)调用也必须是构造方法的第一个语句,唯一一个。
B. super和this两种构造调用,不能同时使用。

1
2
3
4
5
6
7
package cn.itcast.day09.demo09;

public class Fu {

int num = 30;

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package cn.itcast.day09.demo09;


public class Zi extends Fu {

int num = 20;

public Zi() {
// super(); // 这一行不再赠送
this(123); // 本类的无参构造,调用本类的有参构造
// this(1, 2); // 错误写法!
}

public Zi(int n) {
this(1, 2);
}

public Zi(int n, int m) {
}

public void showNum() {
int num = 10;
System.out.println(num); // 局部变量
System.out.println(this.num); // 本类中的成员变量
System.out.println(super.num); // 父类中的成员变量
}

public void methodA() {
System.out.println("AAA");
}

public void methodB() {
this.methodA();
System.out.println("BBB");
}

}