接口和实现类的区别

面试高频题

现在就在这里聊聊这个比较奇葩的问题

首先接口是对一组行为的高度抽象,

然后抽象类里面的抽象方法也是对一组行为的高度抽象,

因为他只有方法名没有方法体,他不写具体的方法实现,让自己的子类自己去实现

举个栗子

就像我们穷人家的父母告诉我们要好好赚钱做个有出息的人,

但是具体怎么实现,父母并不能告诉我们,需要我们兄弟姐妹自己好好奋斗,自己实现

不像那个非抽象类,就好比一些有钱有办法的父母,给子女把路都铺好了。子女只需要自己按照这条路走就行了

(但是我就不明白了,明明这个操作 接口就能完成,为什么还要搞个抽象类)

如果非要说具体的几点区别:

1:一个类只能继承一个抽象类,而一个类却可以实现多个接口。

2:抽象类有构造方法,接口没有构造方法

3:抽象类可以有普通成员变量,接口中没有普通成员变量

4:抽象类中可以包含非抽象的方法,接口中方法默认都是public abstract修饰的,都是抽象方法

5:抽象类中的抽象方法的修饰类型可以是public,protected,但是接口的方法的修饰类型都是public,且默认都是public abstract类型

6:抽象类中可以包含静态方法,接口中不能包含静态方法

 

但是这里我自己并没有很好的理解接口和抽象类的本质区别,我无法通过一个具体的实例来清晰的理解他们本质的区别

但是既然设计的有抽象类 那么肯定是有用的。。。。。。。。。。。。。。。。。。未完待续,哪天我有一个很好的例子了,我会及时修改这篇文章

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值