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 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决
  • ¥15 关于华为5g模块mh5000-31接线问题
  • ¥15 keil L6007U报错
  • ¥15 webapi 发布到iis后无法访问
  • ¥15 初学者如何快速上手学习stm32?