在java中,接口和抽象类的异同

 我来答
青鸟中关村专家
2018-08-01 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
一个类可以有多个接口 只能有继承一个父类
抽象类可以有构造方法,接口中不能有构造方法。
抽象类中可以有普通成员变量,接口中没有普通成员变量
接口里边全部方法都必须是abstract的 抽象类的可以有实现了的方法
抽象类中的抽象方法的访问类型可以是public,protected 但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型
抽象类中可以包含静态方法,接口中不能包含静态方法
抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
百毒千毒
2017-11-05 · TA获得超过4737个赞
知道大有可为答主
回答量:2504
采纳率:88%
帮助的人:664万
展开全部
A:说说继承的关系
抽象类,可以被子类继承(单继承)
接口只可以被,子类,或者抽象类,实现(多实现)
接口与接口之间的关系是继承(注:可以多继承)

B:说说成员属性吧:
接口所有的成员权限都是public最大的;
接口里面的变量都是final修饰为最终的变量无法变更,只可以拿来使用!
接口里面的方法必须全部是抽象方法,无方法体!
接口方法和变量修饰都是固定的,如果你不写,编译时候会自动帮你补齐,少什么补什么..

抽象类的方法,可以有抽象方法也可以有非抽象方法!

C:如果子类实现了接口或者继承了抽象类,抽象方法必须被重写,且权限必须大于等于父类权限!
如果一个类实现了一个接口,没有去重写方法,那么这个类也就成了要给抽象类!

我也就记得这么多了,不足之处还请指点;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式