1 public class Fu {
2
3 int num = 10;
4
5 public void method() {
6 System.out.println("父类方法");
7 }
8
9 }
1 /*
2 super关键字的用法有三种:
3 1. 在子类的成员方法中,访问父类的成员变量。
4 2. 在子类的成员方法中,访问父类的成员方法。
5 3. 在子类的构造方法中,访问父类的构造方法。
6 */
7 public class Zi extends Fu {
8
9 int num = 20;
10
11 public Zi() {
12 super();
13 }
14
15 public void methodZi() {
16 System.out.println(super.num); // 父类中的num
17 }
18
19 public void method() {
20 super.method(); // 访问父类中的method
21 System.out.println("子类方法");
22 }
23
24 }
1 public class Fu {
2
3 int num = 30;
4
5 }
1 /*
2 super关键字用来访问父类内容,而this关键字用来访问本类内容。用法也有三种:
3
4 1. 在本类的成员方法中,访问本类的成员变量。
5 2. 在本类的成员方法中,访问本类的另一个成员方法。
6 3. 在本类的构造方法中,访问本类的另一个构造方法。
7 在第三种用法当中要注意:
8 A. this(...)调用也必须是构造方法的第一个语句,唯一一个。
9 B. super和this两种构造调用,不能同时使用。
10 */
11 public class Zi extends Fu {
12
13 int num = 20;
14
15 public Zi() {
16 // super(); // 这一行不再赠送
17 this(123); // 本类的无参构造,调用本类的有参构造
18 // this(1, 2); // 错误写法!
19 }
20
21 public Zi(int n) {
22 this(1, 2);
23 }
24
25 public Zi(int n, int m) {
26 }
27
28 public void showNum() {
29 int num = 10;
30 System.out.println(num); // 局部变量
31 System.out.println(this.num); // 本类中的成员变量
32 System.out.println(super.num); // 父类中的成员变量
33 }
34
35 public void methodA() {
36 System.out.println("AAA");
37 }
38
39 public void methodB() {
40 this.methodA(); //this起一个强调的作用
41 System.out.println("BBB");
42 }
43
44 }