在实现类里写一个与接口类里相同的常量

在实现类里写一个与接口类里相同的常量

在接口里写有public static final TEMP=20;

在实现类里写有public static final TEMP=30;

老师,为什么接口类的引用指向实现类实例对象后,引用调用的TEMP会是接口的20,而不是30?

还有,接口的引用指向实现类实力对象后,引用调用的就是实现类里重写的方法,对吗?

正在回答

登陆购买课程后可参与讨论,去登陆

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积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师