当前位置: 首页 > 面试题库 >

接口和抽象类中的方法相同

韦欣德
2023-03-14
问题内容

我发现情况:

public interface Intr {
    public void m1();
}

public abstract class Abs {
    public void m1() {
        System.out.println("Abs.m1()");
    }
    // public abstract void m1();
}

public class A extends Abs implements Intr {

    @Override
    public void m1() {
        // which method am I overriding, well it is Abs.m1() but why?
        // if method implemented is Abs.m1(), then why I am not getting error for Intr.m1() not implemented.
    }

}

问题答案:

您同时满足这两个条件;即。一种实现是同时满足抽象类要求和接口要求。

注意,除非Intr在另一个继承链中使用,否则不需要它。另外,将其移至implements Intr抽象类定义可能很有意义。



 类似资料:
  • 当我宣布“抽象公共无效显示();”在抽象类测试中,这是创建一个全新的show()方法,还是只引用Inter接口中声明的show()方法?请澄清。

  • 只是延伸问题... 抽象类和接口中的相同方法 假设一个类实现了一个接口并扩展了一个抽象类,两者都有相同的方法(名称签名),但返回类型不同。现在,当我重写方法时,只有当我使返回类型与接口声明相同时,它才会编译。 另外,如果该方法在抽象类或接口中声明为private或final,会发生什么情况? **旁注。在一次采访中,爱因斯坦先生在这个问题上坚持了相当长的时间。有没有一个流行的场景,我们这样做,或者

  • 我想读关于抽象的文章,但读到不同的文章,我感到很困惑。 下面是我无法理解的问题: 1)“抽象是通过使用抽象类和接口实现的吗?”我对此进行了搜索,得到了三种类型的答案: 与此处解释的不同。 它们是相同的,只是不同的观点,就像这里解释的。 最后一个是抽象类用来实现抽象。 哪一个是真的?请举一个简单的例子。 2)“抽象意味着隐藏不必要的细节。比如专注于一个对象做什么而不是它是如何完成的。” 这是正确的吗

  • 问题内容: 这是代码: 问题:代码可以编译并且一切正常。我想知道类Hello中的meth1()是否覆盖了哪个meth1()?接口中的ont或抽象类中的ont,为什么? 问题答案: 答案很简短:两者..... 实际上,是正确的:您不会 覆盖 任何一个,而是使用一种方法来 实现 它们两者。

  • 问题内容: 在面试中,有人问我以下问题。我试图回答这个问题,但是我想确切回答这个问题。 如果我可以将Abstract类模拟为Interface,为什么Java提供了Interface? 这意味着如果在Abstract类中我可以将所有方法标记为abstract,然后abstract类将用作接口,那么为什么我需要接口。 谁能简单地解释一下我。 问题答案: 这是一个非常标准的面试问题。答案是:因为您可以

  • 问题内容: 谁能告诉我完全抽象的类和接口之间到底有什么区别? Abstract类也可以将其所有方法都作为abstract。接口的所有方法均为抽象。在这种情况下,两者之间的主要区别是什么? 纯抽象类和接口之间是否有区别?接口有什么用?在使用接口的地方,我们可以使用纯抽象类吗? 问题答案: 要完成以前的答案: 接口是一个“合同”。如果一个类实现一个接口,则它必须提议该接口中列出的所有服务。 抽象类是骨