1.根据要求完成类A和类B的定义 已知接口A有唯一的抽象方法void a (),线程类B是接口A的实现类,要求B中的a(实现输出"这是第16周”,同时在构造B的实例时指定线程B的名字为"thread-B”,并启动线程B,在run ()中完成a () 的调用,即最后输出:thread-B 这是第16周
2.已知类A中有方法fn () 执行在当前目录下创建文件"1.txt" ,要求在类B的m ()中创建A的实例a并调用fn, 并在此处利用try、catch完成异常处理(即不是在类A里try catch),在main0中创建B的对象并调用m () ,根据上述要求完成类A和类B的定义,要求 书写规范,否则即使正确也会扣分
类A的定义:
public abstract class A {
public abstract void a();
public void fn() {
try {
File file = new File("1.txt");
if (file.createNewFile()) {
System.out.println("文件创建成功!");
} else {
System.out.println("文件已存在!");
}
} catch (IOException e) {
System.out.println("创建文件失败:" + e.getMessage());
}
}
}
类B的定义:
public class B extends A implements Runnable {
private String name;
public B(String name) {
this.name = name;
Thread thread = new Thread(this);
thread.start();
}
@Override
public void run() {
a();
}
@Override
public void a() {
System.out.println(name + " 这是第16周");
}
public void m() {
A a = new A() {};
a.fn();
}
}
在 main() 方法中创建了 B 的实例,并调用了 m() 方法:
public static void main(String[] args) {
B b = new B("thread-B");
b.m();
}