晕!好奇怪的语法! EventQueue.invokeLator(new Runnable() { public void run() { ...... } }); 参数怎么会是这样?Runable是个类吗?怎么还后面带个括号?可以在参数中声明类吗?实在搞不明白,请高手详细讲解。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Runnable是个接口,这里是匿名内部类的用法。 你可以理解为先定义一个类实现该接口class Test implements Runnable{ public void run(){ ...... }}调用的时候EventQueue.invokeLator(new Test());实际就是这个样子的。不过java为了方便,提供了一种简洁的语法而已。 你看看awt,swing就不会觉的奇怪了。 顶.接口不能new,所以new的是接口的实现.内部匿名类就是这样用的 参数怎么会是这样?....别急,等你看发完后面的解释你就明白了。Runable是个类吗?它是个接口。里面有个抽像的run()方法。怎么还后面带个括号?这里相当于声明了一个省去了类名与class关键字的写,public void run() {....};这里是实现Runnable里面的run()方法。可以在参数中声明类吗? 可以的。相当于你的参数是一个实现了Runnable接口的类的一个对像。LZ有空的时候看看内部类相关的东西吧。这些东西用好了对代码的优化很有帮助。 匿名内部类, 这样的写法在Swing编程中常用到. 简洁的写法罢了,不过看起来确实不是特别舒服。和单独定义、new出来没什么差别 你可以理解为 先定义一个类实现该接口 class Test implements Runnable{ public void run(){ ...... } } 调用的时候 EventQueue.invokeLator(new Test()); 实际就是这个样子的。 不过java为了方便,提供了一种简洁的语法而已。 静态方法,静态块可以继承的吗? scjp 里边的一道题,求解释。答案是D,我怎么感觉E对啊。 出现空指针,如何解决? 移动控件不行 急!!!!!高手救命。。 初学者的一个问题,请指教! 哪位知道java的Runtime运行可执行程序的时候,可执行程序是否受JDK的约束? [求助]ArrayList()和HashSet()在删除元素上的区别 button上加图标,变背景为透明怎么做?急!! 怎样用java 实现设置硬盘上任意一个文件的属性为: Archive(存档)或system(系统) JAVA数组的问题,关于NullPointerException 关于JSCrollPane
先定义一个类实现该接口
class Test implements Runnable{
public void run(){
......
}
}调用的时候
EventQueue.invokeLator(new Test());
实际就是这个样子的。
不过java为了方便,提供了一种简洁的语法而已。
Runable是个类吗?它是个接口。里面有个抽像的run()方法。
怎么还后面带个括号?这里相当于声明了一个省去了类名与class关键字的写,public void run() {....};这里是实现Runnable里面的run()方法。
可以在参数中声明类吗? 可以的。相当于你的参数是一个实现了Runnable接口的类的一个对像。LZ有空的时候看看内部类相关的东西吧。
这些东西用好了对代码的优化很有帮助。
和单独定义、new出来没什么差别
先定义一个类实现该接口
class Test implements Runnable{
public void run(){
......
}
} 调用的时候
EventQueue.invokeLator(new Test());
实际就是这个样子的。
不过java为了方便,提供了一种简洁的语法而已。