接口和抽象类的区别

1)实现接口类必须实现(抽象类除外,如上述的抽象类testAbs)接口中所有的不带方法体的方法,即static和default修饰的方法除外;

(2)继承抽象类必须重写(抽象类除外,如上述的抽象类testAbs)他的所有抽象方法;

(3)接口定义的是对象的行为(即功能作用,能做什么),抽象类定义的是对象的本体组成(即是什么);

(4)接口要实现,抽象类要继承,一个类可以实现多个接口,但只能继承一个抽象类;

(5)接口可以继承接口,抽象类可以实现接口还可同时继承抽象类,抽象类也可以继承具体类,但接口不能。

(6)抽象类和接口都可以有静态的main方法;

(7)接口和抽象类中的抽象方法都不能有方法体;

(8)接口中可有default修饰的方法,抽象类不可以;

(9)接口和抽象类都不能使用private、static、final修饰;

(10)接口不能有有参和无参构造器,而抽象类都可以有;

(11)接口的成员变量不可以是private的,但抽象类可以;

(12)抽象类可由静态块,接口不能有;

(13)抽象类和接口都可以有静态方法,且都必须带方法体;

(14)抽象类中非抽象方法必带方法体,接口不必;

(15)接口和抽象类都可有非static、final修饰的普通成员变量;
————————————————
版权声明:本文为CSDN博主「ispotu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/superit401/article/details/107001778

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值