繁体   English   中英

如果我们在接口中添加方法,我们如何在多个类中实现方法

[英]how can we implement methods in multiples classes if we add methods in interface

在采访中,面试官问了这个问题。 在Interface1中有10个方法,实现Interface1有1000个类。 后来在Interface1中我添加了第11种方法。 如何在所有类中实现第11个方法。 后来他问你怎么能在几节课中实现。 由于1000个课程,你不能只是去每个班级实施,而是花时间。 你能告诉我怎么解决吗?

他可能暗示接口中的default方法(仅适用于java 8 )。

例如:

interface MyInterface {
    default void method() {
        // do stuff...
    }
}

实现接口的所有类都将继承该方法,您可以在需要特定行为时覆盖它。

class MyClass implements MyInterface {

    @Override
    public void method() {
        // do stuff...
    }
}

此外,您可以将基本方法留空(无效),然后在11个类中覆盖它。 或者您可以使用另一个接口(例如: SubInterface )扩展MyInterface ,覆盖基本方法并使您的11个类直接实现SubInterface以便它们继承最具体的行为。 你提出的问题有很多可能性(包括抽象类,如评论中提到的那样)。

如果你必须使用以前版本的Java,你可以简单地使用抽象类,它是实现上述场景的一种方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM