在实现类里写一个与接口类里相同的常量
在接口里写有public static final TEMP=20;
在实现类里写有public static final TEMP=30;
老师,为什么接口类的引用指向实现类实例对象后,引用调用的TEMP会是接口的20,而不是30?
还有,接口的引用指向实现类实力对象后,引用调用的就是实现类里重写的方法,对吗?
3
收起
正在回答
1回答
同学你好,首先是
public static final int TEMP=20; public static final int TEMP=30;
而不是
public static final TEMP=20; public static final TEMP=30;
static类型的变量是类变量,不会被重写。父类中的TEMP和子类中的TEMP是两个不同的变量,所以,当接口引用调用TEMP时,调用的是父类中的TEMP,值为20。
当接口引用指向实现类时,引用调用的是实现类里重写的方法,在这里,同学的理解是正确的。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星