Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java接口和方法声明_Java_Interface_Polymorphism_Abstract - Fatal编程技术网

Java接口和方法声明

Java接口和方法声明,java,interface,polymorphism,abstract,Java,Interface,Polymorphism,Abstract,问题:当一个类指定它实现一个接口,但不提供接口中所有方法的声明时会发生什么情况?除非你的类是抽象的,否则它根本不会编译 例如,编译器说不 如果类不是抽象类,则为编译错误。如果该类是抽象的,则可以不定义已声明接口的某些方法。缺少的方法必须在派生的非抽象类中定义。您必须声明该接口继承的所有方法,否则它将无法编译 例如: interface SomeInterface { public void methodOne(); public void methodOne(); pub

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

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


例如,编译器说不

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

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

例如:

interface SomeInterface {
    public void methodOne();
    public void methodOne();
    public void methodOne();
}
interface SomeInterface {
    public void methodOne();
    public void methodOne();
    public void methodOne();
}
以及:

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

例如:

interface SomeInterface {
    public void methodOne();
    public void methodOne();
    public void methodOne();
}
interface SomeInterface {
    public void methodOne();
    public void methodOne();
    public void methodOne();
}
以及:

它将无法编译。
“如果您的类声明实现一个接口,则该接口定义的所有方法都必须出现在其源代码中,然后该类才能成功编译。”从

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

尝试时发生了什么?