在Java接口的实现类中如何调用这个接口中定义的变量?

Java类实现了一个接口,继承了一个类,如何访问接口与父类中相同的变量,代码如下:classA{intnum=10;}//定义父类interfaceB{intnum=1;... Java类实现了一个接口,继承了一个类,如何访问接口与父类中相同的变量,代码如下:
class A{int num=10;} //定义父类

interface B {int num=1;} //定义接口

public class C extends A implements B{
public static void main(String[] args){
System.out.println("num is "+num); //这一行报错,不知道访问的num是父类中的还是接口中的
}
}

问题:
1) 实现类会不会继承接口中的变量?
2) 在C中如何调用在B中定义的num?
展开
 我来答
loweryou
2009-07-22 · TA获得超过288个赞
知道小有建树答主
回答量:195
采纳率:75%
帮助的人:135万
展开全部
class A{int num=10;
public int getNum() {
return num;
}
} //定义父类

interface B {int num=1;} //定义接口

public class C extends A implements B{
public static void main(String[] args){
C c=new C();
System.out.println(c.getNum());
System.out.println(B.num);
}
}

因为接口里面的i是常量,就如楼上的所说,
你要访问,因为随便哪个在接口里的常量
都是静态的,可以通过类名即B.num调用,而
在类里面定义的就不同,你可以专门写一个方法
来取值!你想直接调用接口和类中的同名num是
做不到的!
新翼追风
2009-07-22 · TA获得超过1134个赞
知道小有建树答主
回答量:544
采纳率:0%
帮助的人:498万
展开全部
接口中默认修饰是public static final

所以接口中的是常量,而不是变量。

1)super.num 应该是可以调用到父类的。
2)接口中的是静态常量,用B.num(即接口名.常量名)可以调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式