[单项选择题] 阅读下面程序class Test implements Runnable { public static void main(String[] args) {Test t = ne

[单项选择题] 阅读下面程序class Test implements Runnable { public static void main(String[] args) {Test t = ne,第1张

[单项选择题] 阅读下面程序class Test implements Runnable { public static void main(String[] args) {Test t = ne

[单项选择题] 阅读下面程序class Test implements Runnable { public static void main(String[] args) {Test t = new Test();t.startO; } public void run(){ } } 下列关于上述程序的叙述正确的是

A.程序不能通过编译,因为start()方法在Test类中没有定义

B.程序编译通过,但运行时出错,提示start()方法没有定义

C.程序不能通过编译,因为run()方法没有定义方法体

D.程序编译通过,且运行正常

正确答案:

A

参考解析:

本题考查线程的使用。Java中可以通过实现Runnable接口来创建线程。通过这种方式创建线程是把Runnable的一个对象作为参数传递给Thread类的一个构造方法,该对象提供线程体run()。而题目中的程序只是实现了Runnable接口,而并没有调用Thread类的构造方法创建线程对象。程序只是生成一个Test类对象t,不是线程对象。然后调用该对象的start()方法,而在Test类中没有定义start()方法。因此,题目中的程序不能通过编译,因为start()方法在Test类中没有定义。 本题的正确答案是选项A。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5469506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存