java 关于抽象类与接口的使用探索
本篇文章,写给对抽象类和接口有所了解,但是又对使用情况比较混乱的孩子
如果你能脱口而出以下三个问题,说明你的水平很扎实,不用看了
1、接口可以被接口继承吗?
2、抽象类可以实现接口吗?
3、抽象类和接口的区别?
前两个的答案,都是yes
本篇文章理论较少,都是使用探索,代码不标红就是可以使用,标红就是报错
接口
继承接口,没有问题
继承类,报错(抽象类一样)
多重继承接口,没有问题
实现接口,报错
接口的static方法必须有body
小结:接口可以extend甚至多extend接口,但是不能extend类和implent接口
解释:接口本身没有方法体,所以不管怎么继承接口,都是空的,没有问题,但是implement需要具体的方法体,所以不能使用
抽象类
抽象类可以没有抽象方法
不含抽象方法的抽象类可以实例化
含有抽象方法的抽象类需要重写所有抽象方法去掉abstract关键字才能实例化
抽象类的子类必须重写抽象方法,如果子类是抽象类,就不用重写
抽象类可以像普通类一样,extend抽象类,implement接口,以及调用main函数