如果一个类实现了一个接口又继承了一个类 那么如果接口和父类有同名的变量...

来源:百度知道 编辑:UC知道 时间:2024/06/22 07:29:32
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) 如何在子类中调用它继承自接口的变量?

接口中默认修饰是public static final

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

1)super.num 应该是可以调用到父类的。
2)接口中的是静态常量,用B.num(即接口名.常量名)可以调用

调用父类的变量可以用super.+变量名

调用接口中的就不太清楚了

这样试试:

在C中声明B b = new C();
b.num;

关注中。。。。。

如果想调用父类的属性变量,可以使用super.属性变量
如果想调用接口的属性变量,因为它是一个静态变量,可以用接口名.属性变量 访问

好像接口中的量不是变量吧``应该是个常量``访问父类中的变量可以使用super。(变量名)``

网页链接