小编Maa*_*aas的帖子

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

当我通过JDK 7时,我发现它java.util.concurrent.RunnableFuture<V>有一个run方法.我想知道在接口中重复相同的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();
}  
Run Code Online (Sandbox Code Playgroud)

java java.util.concurrent concurrent.futures

18
推荐指数
1
解决办法
1084
查看次数

为什么java.util.Objects私有构造函数抛出assertionError

我观察到java.util.Objects有一个抛出AssertionError的构造函数.

 * @since 1.7
 */
public final class Objects {
    private Objects() {
        throw new AssertionError("No java.util.Objects instances for you!");
    }
 ...
Run Code Online (Sandbox Code Playgroud)

这是一个静态实用程序类,因此不需要实例.

我理解的一个可能原因是,开发人员正在尝试确保不创建此类的实例.作为任何人可以调用此构造函数的唯一方法是通过反射.

有没有其他理由拥有这种构造函数?

java

7
推荐指数
1
解决办法
3046
查看次数