请完成下列Java程序:程序的功能演示了如何通过实现Runnable接口创建线程对象,程序中定义了一个类B,类中重写了含一个字符串参数的构造方法,并实现了Runnable接口,即在类B中编写了接口中的run()方法的方法体。还定义了一个应用程序类ex35_2,其中创建类B的3个对象b1,b2和b3作为线程对象t1,t2和t3的参数,并启动这3个线程。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:

public class ex35_2
{
public static void main(String args[ ])
{
Runnable b1=new B("First");
Runnable b2=new B("Second");
Runnable b3=new B("Third");
Thread t1=new Thread(b1);
Thread t2=new Thread(b2);
Thread t3=new Thread(b3);
t1.start ();
t2.start ();
t3.start();
}
}
class B _____________________ Runnable
{
String s;
public B(String str)
{
s=str;
}
_________________
{
for(int i=1;i<3;i++)
{
System. out. println ( s+ "运行!");
try
{
Thread.sleep((int) (Math.random() *100) );
}
catch (InterruptedException e)
{
e.printStackTrace ( );
}
}
System. out.println (s+"结束!");
}
}
第1题:
下列方法中可以用来创建一个新线程的是
A.实现java.lang.Runnable接口并重写start()方法
B.实现java.lang.Runnable接口并重写run()方法
C.继承java.lang.Thread类并重写run()方法
D.实现java.lang.Thread类并实现start()方法
第2题:
下列方法中可以用来创建一个新线程的是( )。
A.实现java.lang.Runnable接口并重写start方法
B.实现java.lang.Runnable接口并重写run方法
C.继承java.lang.Thread类并重写run方法
D.实现java.lang.Thread类并实现start方法
第3题:
3、通过实现Runnable接口创建的线程类要想启动线程,必须在程序中创建 类的对象。
第4题:
关于Runnable接口,错误的说法是()。
A.实现接口Runnable的类仍可以继承其他父类
B.创建实现Runnable接口的类后,就可以用Start方法启动线程了
C.Runnable接口提供了通过线程执行程序的最基本的接口
D.Runnable只定义了一个run方法
第5题:
下列说法中,错误的一项是()。
A.Thread类中没有定义run()方法
B.可以通过继承Thread类来创建线程
C.Runnable接口中定义了run()方法
D.可以通过实现Runnable接口创建线程