一道关于java线程的面试题
2009-08-27 15:25
295 查看
一道关于java线程的面试题
class MyThread extends Thread{ public void run(){ System.out.println("MyThread: run()"); } public void start(){ System.out.println("MyThread: start()"); } } class MyRunnable implements Runnable{ public void run(){ System.out.println("MyRunnable: run()"); } public void start(){ System.out.println("MyRunnable: start()"); } } MyThread myThread = new MyThread(); MyRunnable myRunnable = new MyRunnable(); Thread thread = new Thread(myRunnable); myThread.start(); thread.start(); 伤处程序执行结果是什么? 答案: MyThread: start() MyRunnable: run() 分析: (一)MyThread 继承自 Thread,且覆盖了start()方法,所以当其实例start()时,不会在执行run()方法中的代码。其实这也是个“没用的线程了”。 所以先打印:MyThread: start() 。 (二)MyRunnable 实现了Runnable 接口,Runnable 接口就一个run()方法。 Thread thread = new Thread(myRunnable); 这句代码,根据Runnable 的实例创建了一个Thread实例,该Thread实例的start方法会执行run()方法中的代码。 所以又打印:MyRunnable: run() 总结,Runnable 接口,就一个方法 :run() 。本人觉得这个接口仅仅是一种标记而已(类似 Serializable),或者为了以后扩展使用。而真正有意义的是它的实现:Thread。 |
相关文章推荐
- Thinking in java中关于Exception的一道面试题.
- 关于JAVA的一道面试题
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 关于JAVA的一道面试题
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 一道Java线程面试题。3个线程顺序打印10次ABC.
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 一个关于java线程的面试题
- 关于java继承的一道经典面试题
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 关于java子类重写的一道面试题
- 一道关于finally的看似非常简单但很多人都做错的Java面试题
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- 一道关于截取字符串的java面试题
- Java面试题:关于设置线程名称的选择题
- java 一道线程面试题
- 关于java输出的一道面试题
- 关于java线程的经典面试题。主线程子线程交替执行n次