qolkjh15 2015-07-23 01:42 采纳率: 33.3%
浏览 1575
已采纳

Java在方法中可以任意构造类吗?

protected void do_button_actionPerformed(final ActionEvent e) {
new Thread() { // 开辟一个新的线程执行费时业务
public void run() {
for (int i = 0; i < 10; i++) { // 循环添加10个列表选项
Runnable runnable = new Runnable() { // 创建Runnable对象
public void run() { // 在run方法中操作Swing界面
listData.add("选项" + listData.size());
list.setListData(listData);
}
};
EventQueue.invokeLater(runnable); // 在事件队列中执行Runnable对象
try {
Thread.sleep(1000); // 阻塞UI线程1秒
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
}
}.start(); // 启动业务线程
}

新人请教,这段代码里有个new Thread();按照平时我们得让类继承Thread或者成为Runnable的借口才能创建线程类并重写run方法     是不是只要在方法里面就可以随意创建了?顺便问下try{}catch{}的捕获方法向上跳出是什么意思,就是显示到esclipse下面那里吗?那有没有捕获有什么差别呢?小白提问麻烦各位大大了
  • 写回答

5条回答

  • 诺一生 2015-07-23 01:51
    关注

    这个本身就是生成类对象的方法,只不过我们平时都是这样的A a = new A();这个对象的名字叫做a,而你使用的直接new Thread()这是匿名内部类的使用,是没有名字的(也就是没有引用)然后后面还有.start(),这是直接使用生成的对象的方法,建议你去看一下匿名内部类的使用. 使用了try{}catch(){},这样就是发生了异常,程序也不会崩溃,而会继续执行catch(){}之后的内容,如果你不使用的话,当程序发生一次,程序就会崩溃

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable