qq_42569136 2018-12-18 22:51 采纳率: 0%
浏览 769

Java子类不可调用接口中已实现的方法吗?

1、这是接口的代码

public interface TestInterface {
    String interfacename = print1("接口");

     static String print1(String string) {
        System.out.println(string+"静态初始化");
        return "hello";

    };


}

2、这是子类的代码

public class ChildClass extends NormalTest implements TestInterface{
    public static String ChildName = print1("child");


    public ChildClass() {
        System.out.println("ChildClass construtor");
    }


}

然后发现报错了,是接口里面已经实现的方法只能在接口里面使用吗,不可以直接调用吗,还是要用到的话要重写?

  • 写回答

2条回答 默认 最新

  • 阿进的写字台 2018-12-18 15:42
    关注

    静态方法调用, 可以使用类名。 静态方法时直接跟类关联的, 子类调用父类的静态方法也是如此

    public static String ChildName = TestInterface.print1("child");
    

    另外, 子类不能重写父类的静态方法。 只是会隐藏父类的方法(即子类实例调用同样的静态方法, 该方法触发的是子类的方法。。如果类型是父类, 则调用父类方法)。。跟重写有本质的区别

    评论

报告相同问题?

悬赏问题

  • ¥15 (标签-android|关键词-app)
  • ¥15 微信小程序web-view嵌套H5页面IOS左滑会出现相同的页面,有什么解决方法吗?
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)