[英]When we add two abstract methods in an interface and implement just one method then why can't we implement the other method using lambda?
[英]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.