java 关于抽象类与接口的使用探索

本篇文章,写给对抽象类和接口有所了解,但是又对使用情况比较混乱的孩子
如果你能脱口而出以下三个问题,说明你的水平很扎实,不用看了
1、接口可以被接口继承吗?
2、抽象类可以实现接口吗?
3、抽象类和接口的区别?

前两个的答案,都是yes
本篇文章理论较少,都是使用探索,代码不标红就是可以使用,标红就是报错

接口

继承接口,没有问题

继承类,报错(抽象类一样)

多重继承接口,没有问题

实现接口,报错

接口的static方法必须有body

小结:接口可以extend甚至多extend接口,但是不能extend类和implent接口

解释:接口本身没有方法体,所以不管怎么继承接口,都是空的,没有问题,但是implement需要具体的方法体,所以不能使用

抽象类

抽象类可以没有抽象方法

不含抽象方法的抽象类可以实例化

含有抽象方法的抽象类需要重写所有抽象方法去掉abstract关键字才能实例化

抽象类的子类必须重写抽象方法,如果子类是抽象类,就不用重写

抽象类可以像普通类一样,extend抽象类,implement接口,以及调用main函数

小结:抽象类可以没有抽象方法,也可以实例化和继承类和实现接口,但是如果抽象类中有抽象方法,无论是实例化还是继承,都必须将其重写为普通方法

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-18 16:32
quench@0916:一顿操作猛如虎,一看工资2500
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-30 18:54
武汉商学院 Java
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务