开始在简书的第一篇文章,今天面试的第一个问题,解释下java的多态性,虽然解释出来了,但是个人觉得还是不满意。所以还是要总结下,为了下次能更好地回答这个问题。
java有三大特性,封装、继承、多态。今天来说说多态,多态是Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。
(1)运行时多态:
运行时多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定.
(2)java多态性的的实现的表现形式有:
(2.1)接口和实现接口并覆盖接口中的同一个方法的几种不同类实现;
(2.2)父类和继承父类并覆盖接口中的同一个方法的几种不同类实现;
(2.3)重载Overloading是一个类中多态性的表现形式。
(3)具体实现:有一道经典的面试题讲的很好:http://www.jb51.net/article/34413.htm