黑马程序员技术交流社区

标题: 子类中方法中用super不能调用接口的常量,求解答! [打印本页]

作者: leoliao2008    时间: 2016-3-6 12:20
标题: 子类中方法中用super不能调用接口的常量,求解答!
本帖最后由 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);


        }

}




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