无法在java中扩展抽象类时的部分接口实现
假设我有一个接口,它有3个方法。该接口将由许多类实现,但say method1的实现在所有类中都是相同的
我可以创建一个抽象类,为method1提供一个具体的实现,并让我的类扩展这个类
我的问题是,当我已经在扩展一个类时,如何扩展这个抽象类。Java不支持它。在这种情况下,我应该如何设计
interface Inf{
void method1();
void method2();
void method3();
}
public abstract class Abs implements Inf{
void method1(){
//concrete implementation
}
}
class Test extends SomeClass implements Inf{
//here I need method1 implementation and other methods Ill implement
}
class SomeClass{
}
# 1 楼答案
Java不支持
Multiple Inheritance
。i、 e一个类不能有多个基类。您可以做的是使SomeClass
扩展Abs
类注意:正如@anonymous所说的,如果您使用Java8,那么可以使用
default methods
的interface
# 2 楼答案
Java不支持多重继承。 您可以使您的Abs类扩展到某个类
# 3 楼答案
使用Java8,您可以在接口内定义方法的默认实现