使用父类方法一定要用super吗(写给新人)

来源:互联网 发布:java后端工作累不累 编辑:程序博客网 时间:2024/05/20 02:23

今天,在群里有人问(估计是新手)。答案,不一定。只有当子类重写了父类的方法时,如果需要用到父类的方法时,才要用super,表明这个方法时父类的方法不是子类的方法。不理解?上代码:

Father类

public class Father {public String str = "父类变量";public String strOnly = "父类变量,子类没有同名变量";public void printf(String str){System.out.println(str+"这是父类的方法");}public void printfOnly(String str){System.out.println("这是父类的方法,子类没有重写的方法====>"+str);}}

Son类:

public class Son extends Father{public String str = "子类变量";public void printf(String str){System.out.println(str+"这是子类的方法");}public void test() {printf("什么都不使用=======>");this.printf("使用this=======>");super.printf("使用super=======>");printfOnly("子类没重写,就会调用父类的方法");System.out.println("str is ===========>"+str);System.out.println("super.str is ===========>"+super.str);System.out.println("子类没有同名变量,就会去找父类的变量 ===========>"+strOnly);}public static void main(String[] args) { Son son = new Son(); son.test(); }}

运行结果:

什么都不使用=======>这是子类的方法使用this=======>这是子类的方法使用super=======>这是父类的方法这是父类的方法,子类没有重写的方法====>子类没重写,就会调用父类的方法str is ===========>子类变量super.str is ===========>父类变量子类没有同名变量,就会去找父类的变量 ===========>父类变量,子类没有同名变量


子类重写printf方法,如果需要调用父类的方法就要加super,否则,默认调用子类的方法。对于变量也是一样。


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 散打和拳击 拳击高手 拳击步法 拳击大赛 重量级拳击 拳击航母手机版 拳击辫子编法 拳击新手如何自己训练 拳击女王周晓琳 拳击航母网站 打拳击一个月可能瘦20斤吗 打拳击的好处 女子拳击打肚子10分钟 中国拳击手排名 拳击帝国手机版 拳击俱乐部手机版 学拳击一个月多少钱 拳击辫自辫手法教程 拳击少女下载 拳击教学基本拳法 拳击俱乐部攻略 练拳击能打过普通人吗 拳击入门教学 拳击比赛规则 拳击帝国论坛 拳击暴力高清图片 练拳击的器材 拳击组合拳动作图解 拳击训练方法 拳击教学图解 中国拳击冠军 拳击基础教学 练拳击的好处 拳击步伐和躲闪教学 练拳击有什么好处 拳击沙袋多少钱一个 专业拳击培训 拳击运动的好处 学拳击要多少钱 拳击沙包多少钱一个 拳击沙袋什么牌子的好