父类定义的某个方法不能满足子类需求,所以子类对方法进行重写,这就导致父类的方法永远得不到执行,那么父类定义这个方法的意义在哪里呢?
4条回答 默认 最新
- 嘉祐-小萝卜算子 2022-03-29 21:18关注
首先 父类得有这个方法,子类才能继承,才能重写
其次 父类也可以定义父类对象,定义父类的对象时,就可以调用父类的这个方法
而且子类不一定需要对父类方法进行重写,可以默认和父类一样
它还可以在使用父类方法的同时添加新的需求public class TestApp { public static void main(String[] args) { //分别别创建父类和子类对象给Person类型的变量赋值,调用work方法进行测试 Person p=new Person(); Person p0=new man(); Person p1=new sportsman(); Person p2=new singer(); p.work(); System.out.println("=========================="); p0.work(); System.out.println("=========================="); p1.work(); System.out.println("=========================="); p2.work(); System.out.println("=========================="); } } //编写一个Person类,其中有name属性和work()方法, class Person { //该方法输出“正在工作 public void work(){ System.out.println("父类正在工作"); } } //继承Person类编写足球运动员和歌手,为子类编写work()方法,足球运动员的工作是“踢球”,歌手的工作是“唱歌”。 //1.默认使用父类的方法 class man extends Person{ //默认使用不用将方法写出来 } //2 保留父类方法的内容,同时添加新的内容 class sportsman extends Person { public void work(){ super.work(); System.out.println("保留父类的子类正在踢球"); } } //2 完全重写父类的方法 class singer extends Person { public void work(){ System.out.println("重写父类的子类正在唱歌"); } }
可以结合 代码与结果学习一下
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目
- ¥20 mysql架构,按照姓名分表
- ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 linux驱动,linux应用,多线程