【java基础篇】接口的理解(接口和抽象类的区别)
程序员文章站
2022-03-24 12:29:28
什么是接口抽象类的抽象定义接口的所有的方法默认为抽象方法实现接口要重写所有的方法接口不能被实例化只能被实现代码实现public interface UserService { void add(String userName);}public class UserServiceImpl implements UserService{ public void add(String userName) { }}接口支持多继承理解接口定义一些方法,想要实...
什么是接口
抽象类的抽象
定义
- 接口的所有的方法默认为抽象方法
- 实现接口要重写所有的方法
- 接口不能被实例化只能被实现
代码实现
public interface UserService {
void add(String userName);
}
public class UserServiceImpl implements UserService{
public void add(String userName) {
}
}
接口支持多继承
理解
接口定义一些方法,想要实现就去实现接口
例:接口定义了run方法,那么person类,animal类都可以去实现接口,具体怎么吃饭由各自实现的类完成
接口只是制定规则,具体的实现由实现类完成
接口更好的理解多态,一种事物多种状态,都是run这个方法,person类具体实现run方法为在拿筷子吃饭,animal类具体实现run方法为直接用嘴吃饭,一个run方法有多种的实现方式。
接口和抽象类的区别
1.接口关注行为做什么,抽象类关注对象是谁
Cat类和Dog类是动物,他们的抽象类是Animal类
Cat和Dog都具有run,run方法定义在接口中,他们实现接口
2.接口多继承,抽象类单继承
它们的本质都是简化代码,一个类可以继承多个接口,却只能继承一个类,我认为接口能更好的简化代码
3.接口不能实现方法因为所有的都是抽象方法,抽象类可以有非抽象方法
本文地址:https://blog.csdn.net/akackh/article/details/110003888