本帖最后由 leoliao2008 于 2016-3-6 12:38 编辑
建立一个父类接口,子类来实现。当子类想调用父类中的常量age时,用了super.age,但显示编译出错。但把父类的类型改为一般类或抽象类就可以。
想确认一下:接口的常量是否不能被子类用super来调用?如本例中,子类中已经定义了跟接口中的常量同名的变量,但我还想调用接口中的同名常量,是否就调用不了?
package D16;
interface Father3{
int age=40;
public void smoke();
}
class Son3 implements Father3{
int age=17;
@Override
public void smoke() {
// TODO Auto-generated method stub
System.out.println("the age of the son is "+super.age+" the son doesn't smoke sigarette");
}
}
public class Test01 {
public static void main(String[] args) {
Father3 f=new Son3();
f.smoke();
System.out.println(f.age);
}
} |
|