社区
Java
帖子详情
protected修饰符的用法有个小疑惑
两年半
2018-05-10 09:15:46
今天我看了一本书叫做设计模式之禅,其中一个小部分有一点不太懂,父类中用protected修饰符修饰了成员对象,子类中应该是继承了父类的成员对象,子类中代码在使用成员对象的时候为什么一定要使用super关键字,我试过在代码结果中去掉super关键字发现并没有出现编译和运行错误,这个super是必须的吗,使用super关键字有什么好处吗?求解,谢谢
...全文
915
3
打赏
收藏
protected修饰符的用法有个小疑惑
今天我看了一本书叫做设计模式之禅,其中一个小部分有一点不太懂,父类中用protected修饰符修饰了成员对象,子类中应该是继承了父类的成员对象,子类中代码在使用成员对象的时候为什么一定要使用super关键字,我试过在代码结果中去掉super关键字发现并没有出现编译和运行错误,这个super是必须的吗,使用super关键字有什么好处吗?求解,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
txwh_2169
2018-05-11
打赏
举报
回复
不一样的,没用Super.隐含的是this.调用的是自己的方法,用了Super显式调用父类的方法。如果子类没有实现或重写这个方法,JVM会自动调用父类的同签名方法。 你可以在父类里加上两个方法: protected void printA()(System.out.Print("Print Parent A");) protected void printB()(System.out.Print("Print Parent B");) 然后在子类里重写父类的方法A: protected void printA()(System.out.Print("Print Child A");) 在子类里添加方法: public void print(){ this.PrintA(); super.PrintA(); this.printB(); super.printB(); } 这样你就能看出区别来了。Super和This如果乱用某些逻辑会出错
zhangpf的代码人生
2018-05-10
打赏
举报
回复
子类继承父类时,会默认有一个父类所有可继承成员变量的变量,super. 是在调用从父类继承的这个变量 当你在子类中没有同名的成员变量时,写不写都一样,都是调用同一个变量(刚才继承时默认的) 但是当你子类存在一个跟父类同名的成员变量,比如你子类也定义一个Sale sale,那么你不写super调用的就是你自己定义的sale,写了super调用的就是父类继承的,是属于二个不同的对象。
usecf
2018-05-10
打赏
举报
回复
super是你在子类中没自己实现某个方法的时候,会调用父类的方法的 不写super的话,如果你子类没处理相应的事件,就不会传给父类的
最新scjp310-065题库
最新scjp题库最新scjp题库最新scjp题库最新scjp题库
c++等级考试二级模拟测试题
c++二级等级考试模拟试题 ,是2010年最新c++二级考试的模拟测试题 很有用的考试大部分是从这里出的,下载哟。保证过二级的
深入00P编程[delphi]
帮助您更进一步的了解面向对象编程, 如果您对面向对象编程还有点模糊, 看一看对您会有帮助的。
C++模拟试卷及答案
很好的关于c++面试的模拟题,希望对大家有帮助
java
修饰符
有哪些_java
修饰符
有哪些知识点
java
修饰符
有哪些知识点发布时间:2020-08-05 09:18:40来源:亿速云阅读:77作者:Leahjava
修饰符
有哪些知识点?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java中的
修饰符
分为类
修饰符
,字段
修饰符
,方法
修饰符
。根据功能的不同,主要分为以下几种:权限访问
修饰符
(可以用来修饰类、方法和字段)public:对...
Java
51,397
社区成员
85,847
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章