gpt4 book ai didi

java - 重写对象类方法中的接口(interface)与抽象类

转载 作者:行者123 更新时间:2023-12-02 09:46:34 24 4
gpt4 key购买 nike

以下代码编译绝对没问题。

据我了解,这不应该是因为C类实现了接口(interface)I

作为抽象类也无法编译。

interface I {
public String toString();
}

class C implements I {

}

抽象类未编译

abstract class MyAbstractClass {
public abstract String toString();
}

public class MyClass extends MyAbstractClass {
}

请帮助我理解这种行为,为什么抽象不能编译而接口(interface)可以?

最佳答案

每个类都隐式扩展java.lang.Object,并且java.lang.Object实现toString()方法。该实现满足了接口(interface)的契约,因此您的类无需提供自己的 toString() 实现。

抽象类编译失败的原因是因为您显式地将 toString() 方法定义为 abstract,从而表明具体的扩展类被迫提供自己的执行。

关于java - 重写对象类方法中的接口(interface)与抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59301883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com