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

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

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

接口

继承接口,没有问题
在这里插入图片描述
继承类,报错(抽象类一样)
在这里插入图片描述
多重继承接口,没有问题
在这里插入图片描述
实现接口,报错
在这里插入图片描述
接口的static方法必须有body
在这里插入图片描述

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

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

抽象类

抽象类可以没有抽象方法
在这里插入图片描述

不含抽象方法的抽象类可以实例化
在这里插入图片描述
含有抽象方法的抽象类需要重写所有抽象方法去掉abstract关键字才能实例化
在这里插入图片描述
抽象类的子类必须重写抽象方法,如果子类是抽象类,就不用重写
在这里插入图片描述

抽象类可以像普通类一样,extend抽象类,implement接口,以及调用main函数
在这里插入图片描述

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

发布了106 篇原创文章 · 获赞 89 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_37465638/article/details/100892120