已知接口A 有唯一的抽象方法 void a() ,线程类B是接口A的实现类,要求B中的a0实现输出 是第16周”,同时在构造B的实例时指定线程B的名字为“thread-B〞,并启动线程B,在run 0 完成a ()的调用,即最后输出: thread-B
时间: 2024-02-20 14:57:21 浏览: 22
好的,让我来解答您的问题。根据您的要求,可以这样实现:
```java
public interface A {
void a();
}
public class B implements A, Runnable {
private String threadName;
public B(String threadName) {
this.threadName = threadName;
}
@Override
public void a() {
System.out.println("是第16周");
}
@Override
public void run() {
Thread.currentThread().setName(threadName);
a();
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args) {
B b = new B("thread-B");
Thread thread = new Thread(b);
thread.start();
}
}
```
这里定义了一个接口A和一个实现类B,B类实现了A接口的抽象方法a(),并且实现了Runnable接口的run()方法。在B的构造方法中,传入线程名字threadName。在run()方法中,首先使用Thread.currentThread().setName()方法将当前线程的名字设置为threadName,然后调用a()方法输出“是第16周”,最后输出线程名字。在main()方法中,创建B的实例b并创建一个线程thread,将b作为参数传入thread的构造方法中,然后调用thread.start()启动线程。这样就实现了您的要求。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)