前言:
眼前咱们对“java的虚方法”大致比较关怀,小伙伴们都想要分析一些“java的虚方法”的相关内容。那么小编在网络上网罗了一些有关“java的虚方法””的相关内容,希望我们能喜欢,同学们快快来了解一下吧!多态性是面向对象程序设计代码重用的一个重要机制,今天小编为大家带来大数据编程入门:Java多态这篇文章。
一、什么是多态
1、多态的概念
多态是指同一行为具有多种不同形式或形态的能力。
多态性是使用不同实例执行不同操作的相同接口,如下图所示:
多态性是对象的各种形式的体现。
比如在生活中,我们喝水这个事件,有的人喜欢喝冷水,而有的人则喜欢喝热水。
又比如我们在键盘上按下“W”这个键,在许多游戏中就是前进的指令,在word中则是在屏幕上打印出“W”这个字母。
同一件事在不同的对象上会产生不同的结果。
2、多态的优点
① 消除类型之间的耦合关系
② 可替换性
③ 可扩充性
④ 接口性
⑤ 灵活性
⑥ 简化性
3、多态存在的三个必要条件
① 继承
② 重写
③ 父类引用指向子类对象:Parent p = new Child();
使用多态方法调用方法时,首先检查父类中是否存在该方法,如果不存在,则编译错误;如果是这样,请使用相同的名称调用子类方法。
多态性的优点:可以使程序具有良好的扩展性,可以处理各种对象。
下面是一个多态实例的演示,详见代码中的附注:
运行结果:
二、虚函数
多态性存在虚拟函数。
事实上,Java中没有虚拟函数的概念,它的普通函数相当于C++的虚拟函数,动态绑定是Java的默认行为。如果不希望函数在Java中具有虚拟函数的属性,可以添加最后一个关键字,使其成为非虚拟函数。
重写
我们将介绍在Java中设计类时重写方法的行为如何影响多态性。
方法重写,即子类可以重写其父类的方法。
当子类对象调用重写方法时,它将调用子类方法,而不是父类中的重写方法。
要在父类中调用重写的方法,必须使用关键字super。
假设以下例子中的类继承Employee类:
现在我们仔细阅读下面的代码,尝试给出它的输出结果:
运行结果:
例子解析:
在这个示例中,实例化了两个Salary对象:一个使用Salary来表示s,另一个使用Employee来表示e。
调用s.mailCheck() 时,编译器将在编译时在Salary类中找到mailCheck(),JVM将在执行过程时调用Salary类的mailCheck()。
e是对Employee的引用,但引用e时运行的是Salary类的mailCheck()方法。
在编译时,编译器使用Employee类中的mailCheck()方法来验证语句,但在运行时,Java虚拟机(JVM)调用Salary类中的mailCheck()方法。
整个过程称为虚方法调用,这个方法称为虚方法。
Java中的所有方法都可以用这种方式表示。因此,无论源代码在编译时引用什么数据类型,都可以在运行时调用重写的方法。
三、多态的实现方式
1、重写
2、接口
a.生活中最具代表性的接口就是插座。例如,一个三连接器插头可以连接到三孔插座上,因为每个国家都有自己的接口规则,由于国外定义的接口类型,可能无法出国。
b.Java中的接口类似于生活中的接口,是一些方法特性的集合,但没有方法实现。您可以看到java接口一章的内容。
3、抽象类和抽象方法
以上就是关于大数据编程入门:Java多态的全部内容了,希望这篇文章能够帮助到大家~