来自 链接
已有MyStarter
类(你无需编写,直接使用),其具有:
构造函数:public MyStarter(ActionListener ac)
方法:start()
启动任务
System.out.println(this.getClass().getName());
System.out.println(Arrays.toString(this.getClass().getInterfaces()));
打印一些标识信息。
注意:MyStarter类的构造函数public MyStarter(ActionListener ac)
要接收ActionListener
类型的对象,我们需要建立这个对象并在该对象相应的方法中编写相关功能代码。
最后:调用MyStarter对象的start
方法启动任务。
public static void main(String[] args) {
MyStarter starter;
//这边写上你的代码
starter.start();
sc.close();
}
输入样例:
3
a
输出样例:
a
a
a
//此处有两行标识信息
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
MyStarter starter;
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String str=sc.next();
//创建匿名内部类
ActionListener ac= new ActionListener() {
//构建代码块
{
for(int i=0;i<n;i++) {
System.out.println(str);
}
System.out.println(this.getClass().getName());
System.out.println(Arrays.toString(this.getClass().getInterfaces()));
}
//重写接口中的方法
@Override
public void actionPerformed(ActionEvent e) {
}
};
starter=new MyStarter(ac);
starter.start();
sc.close();
}
}
//因为有start();方法,又没有重写run();方法,所以猜测它继承了Thread类
class MyStarter extends Thread {
ActionListener ac;
public MyStarter(ActionListener ac) {
super();
this.ac = ac;
}
}