Java中this表示当前类的引用。在类的构造方法重载中,如果想要在一个构造方法中调用另一个构造方法,可以使用this()的方式,当前提是this()必须放在该构造方法的最前面,在this()之前不能有任何语句。例如:
复制代码
1
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23public class Test { public static void main(String [] args) { Temp temp = new Temp(100); System.out.println(temp.val); } } class Temp { int val; public Temp() { System.out.println("Temp1"); } public Temp(int val) { this(); this.val=val; System.out.println("Temp2"); } }
结果为
temp1
temp2
100
同理,super关键字表示对父类对象的引用,子类的构造函数默认调用父类中不带参数的构造函数,当子类的构造函数想要调用父类其他构造函数时,可以使用super(parameter)显示的调用相应的谷类构造函数。同样它必须放在子构造函数的最前面。例如:
复制代码
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
29public class Test { public static void main(String [] args) { B b = new B(); } } class A { int val; public A() { System.out.println("A1"); } public A(int val) { this.val = val; System.out.println("A2"); } } class B extends A { public B() { super(100); System.out.println("B"); } }
此外,当子类中的方法fun()重写了父类中的方法fun()时,可以通过super.fun()的方式调用父类的fun()方法。
最后
以上就是无辜衬衫最近收集整理的关于java -- this和super关键字的全部内容,更多相关java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复