引用变量的多态性:属性不具有多态性,方法具有多态性
属性不具有多态性,方法具有多态性
1.当把一个子类对象直接赋给父类引用变量,通过引用变量来调用该引用变量的方法时,其方法总是子类的方法。
2.通过引用变量来访问其包含的实例属性时,系统总是试图访问它编译时类所定义的属性,
而不是它运行时类所定义的属性。
//所谓多态,是由继承而产生的问题
当一个类继承了另一个类,同时它还重写了父类的属性和方法,当你把一个子类对象赋给一个父类变量时,就会引发多态。
多态,即: 表现出多种行为状态。
子类对象的父类变量在调用方法和属性时:Java是这样处理的:
1.当你访问属性时:
通过引用变量来访问其包含的实例属性时,系统总是试图访问它编译时类所定义的属性,
而不是它运行时类所定义的属性。
2.当你访问方法时:当把一个子类对象直接赋给父类引用变量,通过该引用变量来调用该引用变量的方法时,其方法总是子类的方法 |
|