接口与抽象类的区别

接口与抽象类的区别

接口与抽象类的区别

1、接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。
2、接口中只能包含抽象方法;而抽象类中可以包含普通方法。
3、接口中不能定义静态方法;而抽象类可以定义静态方法。
4、接口中只能定义静态常量,不能定义普通属性;而抽象类既 可以定义普通属性,也可以定义静态常量属性。
5、接口不包含构造器;而抽象类中可以包含构造器。抽象类中的构造器并不是用于创建对象,而是让子类调用这些构造器来完成属于抽象类的初始化工作。
6、接口中不包含初始化块;而抽象类可以包含初始化块。
7、一个类最多有一个直接父类,包括抽象类;但是一个类可以直接实现多个接口,通过实现多个接口来弥补java单继承的不足。
8、接口里所有方法都是抽象的,所有属性都是public static final;抽象类是接口的部分实现,既能定义抽象方法,也能定义普通方法和属性比接口更加灵活。
9.、接口只可以继承一个或多个其它接口;抽象类可以继承一个类和实现多个接口。
10、接口方法默认修饰符是public,可以使用其它修饰符。而抽象方法可以有public、protected和default这些修饰符。
11、接口完全是抽象的,它根本不存在方法的实现;而抽象类可以有默认的方法实现;
12、接口强调特定功能的实现;而抽象类强调所属关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值