java中父类与子类有相同属性调谁?取决于左边

您所在的位置:网站首页 java的属性 java中父类与子类有相同属性调谁?取决于左边

java中父类与子类有相同属性调谁?取决于左边

2023-07-17 04:51| 来源: 网络整理| 查看: 265

java中父类与子类有相同属性调谁?答案是:取决于左边!   一、

在今天的继承复习当中,我有对继承中的属性有新的感悟------>子类继承父类,会继承父类的方法和属性,看下图:

从上图可以看出,即使子类是一个空壳,他还是从父类获取到父类的属性name 和方法 test() —— 这就是“继承”的魅力。

二、

但是接下来我说的就是一个小重点--->在继承当中,子类继承父类的属性和继承方法的方式上有所差别:

--->父类属性不可被重写,只会被调用,父类方法可以被重写,也可以被调用

--->当子类中存在和父类同名属性,父类属性会隐藏起来,在多态的情况下属性被调用时会激活父类属性子类属性隐藏起来,而方法不会隐藏,一旦被重写,只能使用super来在子类调用

接下来在子类中调用父类同名属性的两种方式(即激活子类中的隐藏的父类属性)

三、总结:

继承中, 属性:不可被重写,只会被隐藏 方法:会被重写,不会隐藏

即:多态中,成员变量: 无论编译和运行,都参考左边(引用型变量所属的类)。也就是说 Fu f = new Zi(); System.out.println(f.age); 打印的还是父类的值。

---------------------  原文:https://blog.csdn.net/IT_COOKIE_SAM/article/details/58585888            https://blog.csdn.net/weixin_39707894/article/details/79399687



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3