接口中的常量问题
1、接口里的常量:public static final TEMP=20;
老师,被final修饰的TEMP本身就是常量了,为什么还要加static呢?而加public是为了调用方便吗?
2、课程里,在接口INet里有public static final int TEMP=20;
在它的实现类里也有同名常量public static final int TEMP=30;
老师,为什么在测试类里:
INet net=new SmartWatch();
System.out.println(net.TEMP);
打印输出的结果是20,也就是说调的是接口的TEMP,而不是实现类的TEMP呢?
9
收起
正在回答
2回答
很抱歉前句话说错了,确实是“接口引用指向实现类实例对象”。
调用接口中TEMP的原因是:向上转型发生后,只能调用父类或接口中属性,不能调用子类或实现类属性。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星