抽象方法、虚方法、接口的区别
基本概念?
一、抽象方法?
1、抽象方法是在方法前面加关键字 abstract ,比如 public abstract void run();
2、抽象方法要写在抽象类中,因为抽象类不能被实例化
3、实现抽象方法是重写,关键字override,继承抽象类必须被实现
4、抽象类的方法不能有方法体,只能是方法,类似接口。
二、虚方法?
1、虚方法就像一个箱子,虚方法必须有方法体的实现,这个过程就是向箱子里面装东西
2、子类不必非要实现父类的虚方法,实现也是用override,重写的目的就是重新装一次箱子,替换以前的
三、 接口?
1、接口关键字interface,通常有约束作用,就是说继承接口的类必须实现接口中的方法,另外规范了代码,两个类同时继承一个接口类,那么两个类的函数名都是一样的,大家都看得懂
2、继承接口的类必须实现接口中的方法
3、自身不能被实例化,和抽象方法一样
三者区别?
1、继承抽象类和接口类的类必须实现其方法。
2、虚方法可以不被重写,可以定义在任何类中除了接口,但是自身必须写方法体