黑马程序员技术交流社区

标题: 多实现时,接口定义的常量名冲突怎么办 [打印本页]

作者: librazeng    时间: 2013-6-8 09:20
标题: 多实现时,接口定义的常量名冲突怎么办
本帖最后由 librazeng 于 2013-6-9 09:42 编辑

求解决~
  1. //定义一个接口A
  2. interface A{
  3. public static final int a =6;
  4. ...
  5. }
  6. //定义一个接口B
  7. interface B{
  8. public static final int a =5;
  9. ...
  10. }
  11. //类C实现了接口A和接口B
  12. class C extends A,B{
  13. public static void main(String[] args) {
  14. //调用本类的常量时出现调用冲突:The field ConstantC.a is ambiguous
  15.         System.out.println(ConstantC.a);
  16. }
  17. ...
  18. }
复制代码

作者: 武志红    时间: 2013-6-8 16:38
直接用A.a或者B.a去调用不就OK了,你想用哪个接口的就用哪个接口的。或者重写那个变量。
作者: librazeng    时间: 2013-6-9 09:42
武志红 发表于 2013-6-8 16:38
直接用A.a或者B.a去调用不就OK了,你想用哪个接口的就用哪个接口的。或者重写那个变量。 ...

哦,是啊~
作者: 朱志江    时间: 2013-6-9 12:15
个人建议 起名字要有意义 让人一看就知道这是什么函数 什么方法 尽量用英文 下载个有道词典挺有用的 实在不行就用拼音 例如: 借口(Jiekou)我就是这样




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2