java多态是怎样完成的【JAVA教程】,java
本质上多态分两种:
编译时多态(又称静态多态),运转时多态(又称动态多态) (引荐进修:java课程)
重载(overload)就是编译时多态的一个例子,编译时多态在编译时就已肯定,运转时运转的时刻挪用的是肯定的要领。
我们一般所说的多态指的都是运转时多态,也就是编译时不肯定终究挪用哪一个具体要领,一向延晚到运转时才肯定。这也是为何有时刻多态要领又被称为耽误要领的缘由。
下面扼要引见一下运转时多态(以下简称多态)的机制。
多态一般有两种完成要领:
子类继续父类(extends)
类完成接口(implements)
无论是哪一种要领,其中心的处所就在于对父类要领的改写或对接口要领的完成,以获得在运转时差别的实行结果。
要运用多态,在声明对象时就应当遵照一条轨则:声明的老是父类范例或接口范例,建立的是现实范例。举例来说,假定我们要建立一个ArrayList对象,声明就应当采纳如许的语句:
List list=newArrayList();
而不是
ArrayList list=newArrayList();
在定义要领参数时也一般老是应当优先运用父类范例或接口范例,比方某要领应当写成:
publicvoid doSomething(List list);
而不是
publicvoid doSomething(ArrayList list);
如许声明最大的优点在于构造的灵活性:如果某一天我以为ArrayList的特征没法满足我的请求,我希望能够用LinkedList来替代它,那末只需要在对象建立的处所把new ArrayList()改成new LinkedList即可,别的代码一概不必修改。
以上就是java多态是怎样完成的的细致内容,更多请关注ki4网别的相干文章!