虚函数,非虚函数,抽象函数

虽然在java中不存在非虚函数,因为java的所有类中的函数都是虚函数。但是我们还是要讨论一下C类语言和java类语言中的这三个概念。我们采用从不抽象到抽象的顺序去说。

非虚函数和虚函数

这两个比较相似,就放在一起说了
非虚函数也就是正常没有被声明为virtual的函数(在C类语言中是如此,在Java中未生命的都是虚方法)
非虚函数和虚函数都可以被子类重写。但是在子类继承父类之后如果子类对象强制转换成父类,那么通过此对象调用虚方法是是用的子类的方法,而非虚方法是父类的方法。除此之外虚函数的调用开销要大于普通函数,但是现在纯oop语言所有类的成员方法默认都是虚方法了。
创造虚方法的目的就是为了更好的实现多态性,使得在使用的时候不需要考虑子类和父类实现方法和使用方法有什么不同,只需要完全按照父类的实现方法去操作就可以

抽象函数

抽象函数就是只声明一个函数的形式以及调用方法,不声明具体实现,所有子类必须实现抽象方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,295评论 1 44
  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,499评论 1 24
  • 前一阵因为受了一点打击,情绪低落到了极致,需要找些事情转移自己的注意力。很幸运,我找到了我能够为之坚持并付出努力的...
    洛小白阅读 4,738评论 16 58