接口和抽象类的区别

1、抽象类:抽象类中可以有抽象方法也可以有非抽象方法,抽象方法是只定义了方法而不去实现它,与接口不同,接口中所有的方法都是抽象的。
特性:
a、抽象类用于创建一个基本行为的实现类,且可以为该类声明方法,而不用去实现它。
b、抽象类中不能定义抽象构造方法和抽象构造静态方法。
c、抽象类不能直接实例化,得定义该抽象类变量然后引用其子类。
d、继承抽象类的如果不实现抽象类中的所有方法,那么其子类也是抽象类。

2、接口:接口中所有的方法都必须是抽象的,在jdk1.8开始接口中可以有方法的实现了但只能是静态方法或者默认(defult)方法。多继承性可以通过实现这样的接口而获得。
特性:
a、接口中只能定义静态常量。
b、同抽象类一样,可以通过定义接口的变量将引用指向不同的接口实现类,可以通过instanceof来判断当前类是否继承了某个接口。
c、实现接口的类必须实现接口的所有类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值