前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中this和super的区别和应用

Java中this和super的区别和应用

作者头像
黑泽君
发布2018-10-11 16:50:21
8860
发布2018-10-11 16:50:21
举报
文章被收录于专栏:黑泽君的专栏黑泽君的专栏

Java中this和super的区别和应用

代码语言:javascript
复制
 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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档