抽象方法、虚方法、接口的区别

基本概念?

一、抽象方法?

1、抽象方法是在方法前面加关键字 abstract ,比如 public abstract void run();
2、抽象方法要写在抽象类中,因为抽象类不能被实例化
抽象方法、虚方法、接口的区别
3、实现抽象方法是重写,关键字override,继承抽象类必须被实现
抽象方法、虚方法、接口的区别
4、抽象类的方法不能有方法体,只能是方法,类似接口。
抽象方法、虚方法、接口的区别

二、虚方法?

1、虚方法就像一个箱子,虚方法必须有方法体的实现,这个过程就是向箱子里面装东西
抽象方法、虚方法、接口的区别
2、子类不必非要实现父类的虚方法,实现也是用override,重写的目的就是重新装一次箱子,替换以前的
抽象方法、虚方法、接口的区别

三、 接口?

1、接口关键字interface,通常有约束作用,就是说继承接口的类必须实现接口中的方法,另外规范了代码,两个类同时继承一个接口类,那么两个类的函数名都是一样的,大家都看得懂
2、继承接口的类必须实现接口中的方法
抽象方法、虚方法、接口的区别
3、自身不能被实例化,和抽象方法一样
抽象方法、虚方法、接口的区别

三者区别?

1、继承抽象类和接口类的类必须实现其方法。
2、虚方法可以不被重写,可以定义在任何类中除了接口,但是自身必须写方法体