gpt4 book ai didi

Java抽象接口(interface)

转载 作者:IT老高 更新时间:2023-10-28 12:18:10 24 4
gpt4 key购买 nike

考虑一个示例(在 java 中编译)

public abstract interface Interface {
public void interfacing();
public abstract boolean interfacing(boolean really);
}

为什么有必要将接口(interface)“声明”为抽象的?还有其他适用于抽象接口(interface)的规则吗?


最后:如果 abstract 已经过时,为什么它会包含在 Java 中?抽象接口(interface)有历史吗?

最佳答案

Why is it necessary for an interface to be "declared" abstract?

不是。

public abstract interface Interface {
\___.__/
|
'----> Neither this...

public void interfacing();
public abstract boolean interfacing(boolean really);
\___.__/
|
'----> nor this, are necessary.
}

接口(interface)及其方法是隐含的abstract,添加该修饰符没有区别。

Is there other rules that applies with an abstract interface?

不,同样的规则适用。该方法必须由任何(具体)实现类实现。

If abstract is obsolete, why is it included in Java? Is there a history for abstract interface?

有趣的问题。我挖出了 JLS 的第一版,甚至那里也写着 "This modifier is obsolete and should not be used in new Java programs" .

好的,进一步挖掘...在点击了许多断开的链接后,我设法找到了原始 Oak 0.2 的副本Specification (或“手动”)。我必须说非常有趣的阅读,总共只有 38 页! :-)

在第 5 节,接口(interface)下,它提供了以下示例:

public interface Storing {
void freezeDry(Stream s) = 0;
void reconstitute(Stream s) = 0;
}

在页边空白处写着

In the future, the " =0" part of declaring methods in interfaces may go away.

假设 =0abstract 关键字替换,我怀疑 abstract 在某些时候对于接口(interface)方法是强制性的!


相关文章:Java: Abstract interfaces and abstract interface methods

关于Java抽象接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7202616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com