在java 1.5中:可以实现java.lang.Runnable接口的run()方法有一个非void的返回类型吗?

Hak*_*ata 0 java multithreading

我今天出席了采访.面试官让我在java 1.5中编写一个线程.你可以扩展java.lang.thread类或实现java.lang.Runnable接口.是否有可能实现的run()方法具有void之外的返回类型.Runnable接口中的方法签名是

public void run();
Run Code Online (Sandbox Code Playgroud)

我的回答是"由于上面的签名定义,你无法从run()方法返回一个int或字符串."

面试官在java 1.5中说你可以从run方法返回int或string.

你能告诉我怎么做吗?

我尝试下面给出了编译错误:

public class SampleInterview implements Runnable {
    @Override
    public int run() {
        System.out.println("Start : inside run of SampleInterview");
        System.out.println("End : inside run of SampleInterview");
    }
}
Run Code Online (Sandbox Code Playgroud)

我搜索谷歌也找不到任何这样的方式.有可能吗?

Lou*_*man 5

这是不可能的; 要么你误解了面试官,要么他们错了.(您可能只是"将返回值写入某个共享变量",但这似乎不符合要求.)

Callable接口,虽然可以让你返回一个值.