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

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 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器