首页 > 编程知识 正文

java多态的好处,java中的多态怎么理解

时间:2023-05-04 23:04:55 阅读:204027 作者:3551

多态初出现:

对于初学者来说,最开始接触到的java的多态代码可能是长这样的:

public class parent{

public void method1( parameter list ){

}

}

public class child extends parent{

//override

public void method1( parameter list ){

}

}

// test class

public class testDrive{

public static void main(String [] args){

parent p=new child();

p.method1();

}

}

多态机制的小结:

1. 子类继承父类

2.子类override父类的public函数

3.浅显理解java中的动态绑定。

tip:多态是针对函数才有意义,对instance variable讲多态没有意义;同时有static, private, final关键字的函数也是不适用多态的,因为它们的机制是静态绑定。

上述这个继承的例子,实际运行起来大概是这样的:

1. JVM看到p refer to的对象类型是child, 于是查找class child中所有的method;

2. 找到名字是method1,并且参数类型一致的那个函数,好啦就决定调用这个函数。

当然override之后的函数我个人认为优先级是高于父类的,就像书中所说的,the lowest wins! 所以最后会调用子类中重写后的method1.

tip: 定义为子类类型的reference variable是不能指向父类类型对象,这一点我还没想明白,先记住好啦。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。