A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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);


        }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马