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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hui1130 中级黑马   /  2015-4-30 21:44  /  526 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

和abstract不可以共存的关键字有:final,static,private
final和static都可以理解,为什么不可以和private共存呢?
private只在本类中有效,继承后子类会继承父类的成员变量和成员函数,
子类可以实现abstract修饰的方法呀!为什么不可以共存

2 个回复

倒序浏览
首先private定义的属性和方法,是只能被本类的方法访问。如果用private定义抽象方法,子类继承抽象类要么子类也是抽象类,要么就需要实现父类中的抽象方法,即重写抽象方法,但是private定义的内容,子类是没有权限直接访问的,就更不用说可以重写了。
回复 使用道具 举报
为什么abstract不可以和private共存,这个我们可一考虑下abstract为什么的作用. 一般是声明抽象类和抽象方法
然子类去实现, 例如我们的模板设计模式中,一般会把未实现的定义为abstract.假设他们可以共存,子类实现了abstract,在其他类中这个方法不能被调用一般是private,那么这样的共存是无用功
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马