gpt4 book ai didi

Java 核心考试理论

转载 作者:行者123 更新时间:2023-11-30 08:12:44 26 4
gpt4 key购买 nike

对于以下类,Callable 接口(interface)的正确实现是什么?

    class Process implements Callable<List<Set<String>>>{    }

A. public Future< List<Set<String>>> call() throws Exception
B. public void call(List<Set<String>> data) throws RuntimeException
C. public List<Set<String>> call(String data) throws RuntimeException
D. public List<Set<String>> call() throws Exception

我已经在Eclipse中实现了这个,答案是D。我想知道的是,我如何知道该类是否会抛出Exception或RuntimeException?有什么方法可以区分吗?我知道运行时异常是未经检查的异常,并且检查了异常,但是问题中是否有提示告诉我它是异常类?如果我没有在 Eclipse 中实现这一点,我就不可能知道调用方法不接受 String 参数,因此它要么是 C 要么是 D。我怎么知道答案是抛出异常?

最佳答案

在实现该方法时,您必须指定完全相同的接口(interface),即

V call() throws Exception

就像 doc 说的那样。但是,您可以使 throws 子句更具限制性,这意味着您可以指定抛出 RuntimeException ,如下所示 - 这是 Exception 的子类。因此,这里的throws声明并没有告诉你答案。这些是起作用的参数和返回类型。

这里的返回类型必须是 List<Set<String>> ,因为它在中被指定为 V 参数(再次在 doc 中)

class Process implements Callable<List<Set<String>>>{    }

另一件事是 call() 方法不接受任何参数。

考虑到这些,这里只留下答案D。它返回一个适当的类型并且不带任何参数。希望对您有帮助!

关于Java 核心考试理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145844/

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