本文共 774 字,大约阅读时间需要 2 分钟。
多态在Java中允许同一个变量引用不同类的对象,但变量的类型是固定的,无法重写。方法则可以根据运行时的类来执行不同的逻辑,这是多态的关键点。以下是详细的解释:
变量与多态:
arm_length,但当创建一个子类实例并赋值给父类变量时,变量的值始终指向父类的值。这是因为变量是基于其声明的类型来获取值的,而不是运行时的对象类型。方法与多态:
father.buyTobacco()调用的是子类重写的方法,因为运行时的对象是Son实例。多态的意义:
示例分析:
arm_length是60,子类Son的arm_length是65。当创建Father father = new Son();时,father.arm_length输出60,因为变量是根据父类类型来获取值。father.buyTobacco()输出“儿子爱抽黄鹤楼”,因为方法是根据运行时的对象类型来调用的。总结:
通过以上分析,可以看出变量和方法在多态中的不同处理方式,变量基于声明类型,而方法基于运行时对象类型,这样实现了灵活的行为多态。
转载地址:http://bxwcz.baihongyu.com/