关于java的多态
来源:互联网 发布:百视通网络电视怎么用 编辑:程序博客网 时间:2024/05/21 12:52
对于java的多态的简单理解
一般大学生在参加校园招聘的时候,有很多公司会问关于java中多态的问题,或者是笔试的考题中会有关于多态的题,要是基础不是太好的话一般会把自己整蒙,不知道说的到底是什么,结果会是什么样的,在这里我就简单的以我的理解和具体的举例来说明一下java的多态。
java多态简单的讲就是父类中定义好了一个方法,子类中可以重写这个方法,那么重写的子类的方法和父类的方法就不同了,当很多时候父类的引用指向子类的对象的时候,调用两者都有的方法时是最让人疑惑的时候,也就是最典型的多态了,这时候其实很好理解,不管你父类引用指向的是子类对象还是什么,只要子类对象中重写了这个方法,那么必定调用的就是子类的这个方法。下面给出一段代码。
public class Test7 {public static void main(String args[]) {B b = new B(); b.fun1(); A a = b; a.fun1();}}class A { void fun1() { System.out.println(fun2()); } int fun2() { return 123; }}class B extends A { int fun2() { return 456; }}
上面代码所运行结果都是456。为什么会是这样呢? 也就是上面所说的永远在执行实例对象的方法。即使A中有方法fun2()A的引用调用的还是子类B的fun2()方法,从而可以很好的理解多态。
多态必须有三个条件才能实现:1.继承 2.重写 3.父类引用指向子类对象
那么要问为什么会用多态,很简单比如说有两个类,分别是猫和狗,他们都有一个叫的方法,而且他们都是动物,那么可以定义一个动物类,让他们来继承,然后重写叫这个方法来实现叫的功能,父类中定义共通的方法以便子类中重写使用,因此可以规范代码,也能实现一定的封装功能。
0 0
- 关于java的多态
- 关于java的多态
- 关于Java的多态
- 关于Java的多态
- 关于Java运行时的多态。
- 关于java多态的问题
- 关于java的多态实现
- 关于JAVA多态的一些笔记
- Java关于多态的初步理解
- 关于java多态的理解
- 关于java多态的解释学习
- java关于多态的一些理解
- 关于java的多态方法调用顺序的问题
- 关于java继承和多态的问题
- 关于Java多态和继承的一道题
- 关于C++和JAVA多态区别的体会
- 关于java继承与多态的深入理解
- 关于java的向上转型和多态
- nutch和lucene的关系
- MySQL简明教程及表设计原则
- IOS收缩式导航条的实现
- Android的自动化测试一:啥叫自动化测试
- 微店网为供应商带来什么便利
- 关于java的多态
- 【LeetCode】4Sum
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- VC++无标题窗口以及控件拖动的方法(修正)
- 社区商业的规划
- Keep Your Direction
- [lazarus] 分享一个BMP图像平滑缩放的代码
- Windows下搭建PHP开发环境
- HDU-3555 Bomb 数位DP