这是我一段时间以来一直在挠头的一个。
假设您想在接口中指定一个方法,但您不希望在实现级别之前实际定义它。也就是说,你想在接口中指定一个方法,这样如果它是在抽象类中定义的,编译器就会抛出错误。
public interface Thing{
public void method1();
public void method2();
//method3 should be implementation specific
public void method3();
}
然后我有一个抽象类:
public abstract class BasicThing{
@Override
public void method1(){}
@Override
public void method2(){}
}
我的实现特定代码:
public class ThingImpl{
@Override
public void method3(){}
}
(顺便说一句,我知道以这种方式编写它是有效的,但我想要这样做的原因是,如果我正在编写接口并将其传递给其他人,然后将其传递给其他人去做最终的实现,我希望能够对它们强制执行额外的规范)