Java中this和super的区别和应用
Java中this和super的区别和应用
1 /* 2 问题是: 3 1.我不仅仅要输出局部范围的变量num,还要输出本类成员范围的变量num。怎么办呢? 4 2.我还想要输出父类成员范围的变量num。怎么办呢? 5 如果有一个东西和this相似,但是可以直接访问父类的数据就好了。 6 恭喜你,这个关键字是存在的:super。 7 8 this和super的区别? 9 分别是什么呢? 10 this代表本类对应的引用。 11 super代表父类存储空间的标识(可以理解为父类的引用,可以操作父类的成员,但不是父类的对象!) 12 13 怎么用呢? 14 A:访问成员变量 15 this.成员变量 调用本类的成员变量 16 super.成员变量 调用父类的成员变量 17 B:访问构造方法(在子父类的构造方法问题讲) 18 this(...) 调用本类的构造方法 19 super(...) 调用父类的构造方法 20 C:访问成员方法(在子父类的成员方法问题讲) 21 this.成员方法 调用本类的成员方法 22 super.成员方法 调用父类的成员方法 23 */ 24 25 class Father { 26 public int num = 10; 27 } 28 29 class Son extends Father { 30 public int num = 20; 31 32 public void show() { 33 int num = 30; 34 System.out.println(num); 35 System.out.println(this.num); 36 System.out.println(super.num); 37 } 38 } 39 40 class ExtendsDemo5 { 41 public static void main(String[] args) { 42 Son s = new Son(); 43 s.show(); 44 } 45 }
输出的结果为:
30
20
10
Copyright ©2018-2019
【转载文章务必保留出处和署名,谢谢!】
【转载文章务必保留出处和署名,谢谢!】