java多态的两种形式有哪些(java多态底层原理)

什么是java多态

Java多态是指在程序运行期间,能够自动选择调用哪个方法或属性的一种机制,具体的实现方式是通过父类或接口引用指向其子类或实现类的实例对象,从而在运行时根据具体的实例对象的类型选择正确的方法或属性。其中,父类或接口指代的是相对泛化、抽象、通用的类型,而子类或实现类是指代的是具体的、具有特殊行为或属性的类型。

java多态的两种形式有哪些(java多态底层原理)

Java多态的两种形式

Java多态有两种形式,分别是编译时多态和运行时多态。

编译时多态

编译时多态是指在编译阶段进行类型绑定,根据父类或接口声明的类型,选择正确的方法或属性。编译时多态使用的方法有方法重载、属性隐藏和向上造型。其中,方法重载是指在同一类中,根据参数类型和个数的不同,定义多个同名的方法,可以实现同一方法名的不同行为。属性隐藏是指在子类中定义与父类同名的属性,使用子类对象引用时访问该属性将返回子类的值,而不是父类的值。向上造型是指将子类的实例对象赋值给父类类型的引用变量,在编译阶段选择父类声明的方法、属性,而在运行时实际调用的是子类实现的方法、属性。编译时多态的好处是可以提高程序的灵活性和可维护性,减少代码的重复性,但也会有一定的性能开销。

运行时多态

运行时多态是指在运行阶段进行类型绑定,根据实例对象的实际类型来选择调用哪个方法或属性。运行时多态使用的方法是方法重写、接口实现和对象 instanceof。其中,方法重写是指在子类中重新定义和父类同名、参数、返回类型的方法,目的是为了改变原来的实现或者增强原有的功能。接口实现是指一个类实现一个或多个接口中定义的方法,通过统一的接口规范实现不同的行为,提供了更加灵活的编程方式。对象 instanceof可以判断一个对象是否属于某个类型,返回值是一个布尔值,可以用来确定向上造型是否成功。运行时多态的好处是可以更好地利用面向对象的特性,提高程序的健壮性和可扩展性,但也会增加一定的代码复杂度和运行时间成本。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/java7ry.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月24日 下午6:49
下一篇 2023年4月24日 下午6:50

猜你喜欢