为什么java.util.concurrent.RunnableFuture有一个run()方法



当我浏览JDK 7时,我发现java.util.concurrent.RunnableFuture<V>有一个run方法。我想知道在接口中重复相同的运行方法签名的意义是什么,因为它已经扩展了Runnable

package java.util.concurrent;
public interface RunnableFuture<V> extends Runnable, Future<V> {
    /**
     * Sets this Future to the result of its computation
     * unless it has been cancelled.
     */
    void run();
}  

它是在接口中定义的,以便他们可以将RunnableFuture特定的JavaDoc附加到它。没有技术意义

没有文档提供这样的解释。因此,我将提供我的意见。

我认为它没有什么重大意义。想象一下界面世界是什么样子
public interface RunnableFuture<V> extends Runnable, Future<V> {
}

虽然它是完全有效的,但它没有清楚地表明它的目的。所以在我看来,这只是为了方便理解RunnableFuture接口特定的run()方法。这样你就知道通过重写run()方法来放置可运行逻辑。

我能想到的另一点是Runnable是早期的接口之一如果你看到run()方法它是

public abstract void run();
关键字

publicabstract是冗余的,因为接口中的方法默认为publicabstract。即兴发挥可能是原因之一。

相关内容

最新更新