如何实现多态 JAVA中的多态与重载有什么区别?
浏览量:2158
时间:2021-03-29 02:37:06
作者:admin
JAVA中的多态与重载有什么区别?
它们之间的区别如下:
多态性基于重写。它是类之间的关系,发生在不同的类之间。子类重写父类的方法。实现不同的子类,不同的实现形式。
多态性有三个条件
1:继承
2:重写(重写父类继承的方法)
3:父类引用指向子类对象
总之,事物在运行过程中有不同的状态。
Super*P=new sub()
P->func()//调用子类的func
如果它不是虚的,P->func将调用父类的原始函数。
JAVA的多态用几句话能直观的解释一下吗?
多态性分为编译时多态性和运行时多态性。
1. 编译时多态性,其实是方法重载,函数名相同,但签名不一样。值得注意的是,签名不包括方法的返回值。换句话说,这两个方法的函数名和输入参数是相同的,但返回值不同。编译器返回错误。
2. 运行时多态性实际上与继承和接口实现有关。子类可以重写父类的非最终、非静态、非私有方法或实现接口方法。JVM如何知道要调用哪个子类实例的对应方法?这就是你问的问题。在Java中,对象在JVM中有描述元数据。对象头存储当前实例的类型信息。在调用时,JVM可以根据这个类型准确地找出要使用的子类方法。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。