Java接口和方法声明

时间:2014-03-18 18:22:39

标签: java interface polymorphism abstract

问题:当一个类指定它实现一个接口但是没有提供接口中所有方法的声明时会发生什么?

5 个答案:

答案 0 :(得分:1)

编译错误,如果类不是抽象的。如果类是抽象的,则可以保留声明接口的某些方法未定义。缺少的方法必须在派生的非抽象类中定义的末尾。

答案 1 :(得分:0)

除非你的类是抽象的,否则它根本就不会编译。

E.g。编译器说没有!

答案 2 :(得分:0)

你必须声明该接口继承的所有方法,否则它将无法编译。

示例:

interface SomeInterface {
    public void methodOne();
    public void methodOne();
    public void methodOne();
}

class SomeClass implements SomeInterface {
    //this wont complie
}

但是如果该类是一个抽象类,它可以声明从该接口或其中一些继承的方法,

示例:

interface SomeInterface {
    public void methodOne();
    public void methodOne();
    public void methodOne();
}

abstract class SomeClass implements SomeInterface {
    //this will compile
}

答案 3 :(得分:0)

无法编译。 "如果您的类声称实现了一个接口,那么该接口定义的所有方法必须在其成功编译之前出现在其源代码中。"来自Object-Oriented Programming Concepts

答案 4 :(得分:0)

编译错误将生成声明以覆盖抽象方法。 请记住,与抽象类不同,接口根本不提供任何实现。这意味着,任何实现接口的类都必须为所有方法提供实现。