JAVA问题,父类为抽象类,子类继承父类后,为什么还要把抽象类的方法重写?那为什么不直接创建个方法?

2024-11-30 13:54:04
推荐回答(4个)
回答1:

抽象类可以没有抽象方法,也可以全部是抽象方法,如果子类继承的父类是抽象类,子类必须重写父类里所有的(是所有的)抽象方法,才能被实例化,也就是创建对象,要不然子类也将是个抽象类,抽象类不能被实例化(考试里选择题经常出现)

回答2:

父类(抽象类)中既有抽象方法又有普通方法,因为抽象类中的抽象方法没有实现(也就是没有具体的功能代码),子类只需重写抽象方法即可。
用的时候 父类 f = new 子类(); 即声明父类对象指向子类应用(多态),此时若子类不实现父类中的抽象方法,则 f.抽象方法() 会报异常,因此必须要重写,若楼主是初学则不必深究,学完了做做小项目慢慢就领会了。

回答3:

当初我也是这样想的,子类也可以自己创建个方法,而不用重写,多麻烦啊!
在java中,规定了假如父类为抽象类,子类继承父类后,必须重写抽象类的方法。
既然叫抽象类了,那么从简单意义上理解,是看不懂的,所以父类中只说明了方法而没有具体实现其方法,但是子类继承父类,只有在子类中把方法重写,才能在创建子类的过程中实例化并应用此方法。你在以后的学习中会了解的。
建议你看《毕向东_Java基础视频教程》?在哪里看呢?百度搜索黑马程序员,点击第一个网页,然后点击页面条的视频课程,我现在就是在看这个视频,非常不错,强烈建议你看,说的非常详细和透彻。

回答4:

抽象类、抽象方法,就是这样定义的

不想重写,就不要写成抽象的方法。。。。。。。