A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 晨若兰曦 中级黑马   /  2015-1-16 21:39  /  1973 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类通过其子类进行实例化,子类需要覆盖到抽象类中的所有方法后才可以创建对象,否则子类还是一个抽象类。为什么子类需要覆盖到抽象类中的所有方法才可以创建对象呢?如果只覆盖一个呢?

5 个回复

倒序浏览
子类是继承父类的,如果只覆盖一个,那子类肯定还有抽象方法,那么子类就是抽象类。抽象类是不可以被实例化的。所以肯定要重写全部的抽象方法
回复 使用道具 举报
如果子类用abstract修饰,也是抽象类就没事了
回复 使用道具 举报
抽象类中抽象方法, 才必须被覆盖,如果有没有被覆盖的抽象方法,子类要么是抽象类,要么程序会报错。
回复 使用道具 举报
子类要继承父类 如果父类是一个抽象类 有2个以上的抽象方法 你只重写覆盖了1个抽象方法 那么子类继承的时候 必然还有1个以上的抽象方法 而当一个类中有抽象方法的时候 这个类必须是抽象类 那么子类也必须抽象类 然后剩下的抽象方法 得多层继承由子类的子类去完成 第2种情况 一个抽象类中 只有1个抽象方法 其他方法不是抽象的 这个时候你覆盖重写了 那个抽象类 那么子类 这个时候是可以不是抽象类的 因为子类当中已经没有抽象类了 子类已经重写了 父类中的抽象方法
回复 使用道具 举报
倒数第2行 最后那个抽象类 写错了 是抽象方法 还有倒数第1行 最后那个抽象类 也是抽象方法 我最近貌似比较脑残 马波的 回个帖子全是错误
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马