Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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_Abstract - Fatal编程技术网

Java接口如何是抽象的?

Java接口如何是抽象的?,java,interface,abstract,Java,Interface,Abstract,我最近意识到,在Java中可以这样声明接口 public abstract interface Foo { // ... body } 为什么这是一个有效的语法?在语义上,它对我来说没有任何意义(即,接口已经是抽象的了,不是吗?)。 使用抽象声明的接口与不使用声明的接口之间有什么区别吗?它不是必需的,因为它隐式地存在于所有接口中。包括与否没有区别。包含它很奇怪,所以我会避免它。它不是必需的,因为它隐式地存在于所有接口中。包括与否没有区别。包含它很奇怪,所以我会避免它。没有区别。每个接口

我最近意识到,在Java中可以这样声明接口

public abstract interface Foo
{
    // ... body
}
为什么这是一个有效的语法?在语义上,它对我来说没有任何意义(即,
接口
已经是抽象的了,不是吗?)。
使用
抽象声明的接口与不使用
声明的接口之间有什么区别吗?

它不是必需的,因为它隐式地存在于所有接口中。包括与否没有区别。包含它很奇怪,所以我会避免它。

它不是必需的,因为它隐式地存在于所有接口中。包括与否没有区别。包含它很奇怪,所以我会避免它。

没有区别。每个接口都是隐式抽象的,这个修饰符是过时的。@Sudhanshu我同意你的观点,接口是隐式抽象的,尽管我不同意
abstract
是一个过时的修饰符。它仍然被用来声明与接口明显不同的抽象类。我的意思是,对接口使用该修饰符是过时的。没有区别。每个接口都是隐式抽象的,这个修饰符是过时的。@Sudhanshu我同意你的观点,接口是隐式抽象的,尽管我不同意
abstract
是一个过时的修饰符。它仍然被用来声明与接口明显不同的抽象类。我的意思是,对接口使用该修饰符是过时的。