首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >面试题16(以下java程序输出什么?)

面试题16(以下java程序输出什么?)

作者头像
Java学习
发布2018-04-18 14:48:29
发布2018-04-18 14:48:29
8780
举报
文章被收录于专栏:java学习java学习

以下java程序输出什么?

public class HelloSoGou {

public static synchronized void main(String[] asf) {

Thread t = new Thread(){

public void run(){

Sogou();

}

};

t.run();

System.out.print("Hello");

}

static synchronized void Sogou(){

System.out.print("Sogou");

}

}

A) HelloSogou B)SogouHello

C)Hello D)结果不确定

考点:该面试题主要考察求职者对run()与start()的区别。 出现频率:★★★★★

【面试题分析】调用t.run(),并没有启动一个新的线程,只是普通的方法调用,程序中依然只有主线程这一个线程,所以执行顺序是先执行run(),再执行 System. out . print(" Hello"),结果就是 SogouHello。如果将t.run()改成t. start(),结果就是 Hello Sogou。

参考答案是:B

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档