java接口和抽象类的区别

抽象类和接口的区别?
1、成员区别:
   抽象类:
         成员变量:可以是变量,也可以是常量
         成员方法:可以抽象,也可以非抽象
         构造函数:有
   接口:
         成员变量:只能是常量
         成员方法:只可以抽象
         构造函数:没有构造函数

2、关系区别
类与类:继承,单继承
类与接口:实现,单实现,多实现
接口与接口:继承,单继承,多继承

3、设计理念区别
抽象类:抽象类中定义的是该继承体现的共性功能。
接口:接口重定义的是该继承体系的扩展功能。

比如猫和狗,都是动物。都具有性别、年龄等属性,同时具有吃饭方法,但是吃的内容不一样,我们可以把它定义成一个抽象方法。
但是不是所有的猫都会挖洞,只有狗可以挖洞,对于狗是特有的。
所以可以把性别,年龄和吃饭都定义在动物抽象类中,而把挖洞方法定义成一个接口,把具有这个功能的才实现这个功能,不是所有都具备的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值