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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

接口抽象类都是抽象方法,那么改什么时候定义接口,什么时候定义抽象类?

3 个回复

倒序浏览
你要区分接口和抽象类他两个的相同点与不同点就容易理解定义接口还是抽象类:
1\接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,抽象类是可以有私有方法或私有变量的
2\接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
3\抽象类要被子类继承,接口要被类实现
回复 使用道具 举报
简单的来说就是,共性的方法定义在抽象类中,特有的方法则定义在接口中,存在于抽象类中的方法都是对象所必须有的,比如定义一个动物类中有一个吃饭的方法,就必须定义在抽象类中,因为吃饭是所有动物都必须具备的,没有哪个动物可以不吃饭,但是每种动物的吃饭方式或是吃的东西等等又是有所不同,所以其子类必须重写吃饭的方法,但是有些行为就不是动物所必备的,比如飞的行为,这是有翅膀的动物才特有,陆地上的动物显然不会飞,所以飞的方法应该写在接口中,让一些会飞的动物来实现它,并重些飞的方法,因为会飞的动物飞的方式也是有所不同的.谢谢参考,如有不周,请指正
回复 使用道具 举报
顶一个!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马