java-抽象类vs接口

抽象类与接口的区别
本文对比了抽象类和接口的特点,介绍了两者都能作为系统抽象层使用且无法实例化的共同点,以及抽象类允许部分默认实现而接口仅限于抽象方法的关键区别。

一. 抽象类和接口的相同点:

1、代表系统的抽象层;

2、都不能被实例化;

3、都能包含抽象方法。这些抽象方法用于描述系统能提供哪些服务,但不必提供具体的实现;

二、抽象类和接口主要的两个区别:

1、在抽象类中可以为部分方法提供默认的实现,从而避免在子类中重复实现它们,提高代码的可重用性,这是抽象类的优势所在;而接口中只能包含抽象方法;

2、一个类只能继承一个直接的父类,这个父类有可能是抽象类;但一个类可以实现多个接口,这个是接口的优势所在

注解:

JAVA抽象类中是否一定要有抽象方法

抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。
如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值