一个关于匿名类的问题。觉得不好理解。 你可以看看 java 消息处理的代码,很多用 匿名类.在这里的意思就是 新建一个匿名的, 继承Turing的类. 该类继承了 Turing的 public void run方法. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所谓匿名类就是创建的实例没有名字,例如: JFrame frame=new JFrame("Hello"); frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent evt) { /*your code here*/} } );这里就为frame注册了一个监听器,监听器类是匿名的。这与下面代码等价: JFrame frame=new JFrame("Hello"); myListener l=new myListener(); frame.addWindowListener(l); 匿名类的好处是方便,缺点是不能对其进行操作。 所谓匿名类就是创建的实例没有名字,例如: JFrame frame=new JFrame("Hello"); frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent evt) { /*your code here*/} } );这里就为frame注册了一个监听器,监听器类是匿名的。这与下面代码等价: JFrame frame=new JFrame("Hello"); myListener l=new myListener(); frame.addWindowListener(l); 匿名类的好处是方便,缺点是不能对其进行操作。 to:dylanwolf 为什么这一句m.go(new Turing(){});是产生个继承Turing的类?通过什么来表示有继承关系? 各位大哥,帮忙一下,很急啊http://www.csdn.net/expert/topic/672/672426.xml?temp=.0416376 同意而且Turin可能是个需要实现run()方法的接口或者是abstract class 不用通过什么来表示关系例子:如果你在消息处理函数中的声明是: frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent evt) { /*your code here*/} } 这里,你就是实例化了一个继承 WindowAdapter的匿名类如果采用 new WindowListener, 就是 实例化了一个 实现WindowListener接口的匿名类. dylanwolf: 那题中的这m.go(new Turing(){})一句,就是实例化了一个继承Turing(){}的匿名类。 是不是? 但不知,这个Turing(){}和题中的 class Turing extends Thread{ public void run(){ for(int i =0; i < 2; i++){ System.out.println(i); } } }有什么关系? 他妈的,java真的是很烂的。什么GC,根本不能及时起作用的,你的内存再多也没有用的。这样的编程风格m.go(new Turing(){});//要是在C++中,这样的程序员一定是会被骂死的。即使他不知道什么叫内存泄露。 不过针对这里的问题,你需要对java的事件处理机制要了解。MVC或者什么是事件委托。这样你就明白了,实际上这个跟win32的消息影射一样的道理。 这m.go(new Turing(){})一句,就是实例化了一个继承Turing(){}的匿名类。的确是这样的,因为他就是匿名内部类的一种规则。所以说:Turing(){}和题中的 class Turing extends Thread{ public void run(){ for(int i =0; i < 2; i++){ System.out.println(i); } } }是继承关系, 即 Turing(){} 是子类 请高手们帮个忙,怎么创建一课普通的树? native方法的源码在哪里看 请教大家一个关于swt绘图和图片范围内点的计算问题。 谁有corejava包,能给我发一个吗?10分相送 请问如何获取一个包里的所有类的名称列表? 路进问题 mysql卸载应该在什么地方?急急急! 急问!!JApplet如何先谈出等待窗口????(可以加分) 一个关于Java的问题求解,100分(初学者) 小弟正在做几个项目,不知道如何下手,请大家进来给点建议! 关于分页问题的讨论,想找一个比较折中的办法。 如何使用jbuilder编译一个工程中单独的一个.java文件
JFrame frame=new JFrame("Hello");
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt) { /*your code here*/}
}
);
这里就为frame注册了一个监听器,监听器类是匿名的。这与下面代码等价:
JFrame frame=new JFrame("Hello");
myListener l=new myListener();
frame.addWindowListener(l);
匿名类的好处是方便,缺点是不能对其进行操作。
JFrame frame=new JFrame("Hello");
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt) { /*your code here*/}
}
);
这里就为frame注册了一个监听器,监听器类是匿名的。这与下面代码等价:
JFrame frame=new JFrame("Hello");
myListener l=new myListener();
frame.addWindowListener(l);
匿名类的好处是方便,缺点是不能对其进行操作。
为什么这一句m.go(new Turing(){});是产生个继承Turing的类?通过什么来表示有继承关系?
http://www.csdn.net/expert/topic/672/672426.xml?temp=.0416376
而且Turin可能是个需要实现run()方法的接口
或者是abstract class
例子:如果你在消息处理函数中的声明是:
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt) { /*your code here*/}
}
这里,你就是实例化了一个继承 WindowAdapter的匿名类如果采用 new WindowListener, 就是 实例化了一个 实现WindowListener接口的匿名类.
那题中的这m.go(new Turing(){})一句,就是实例化了一个继承Turing(){}的匿名类。 是不是?
但不知,这个Turing(){}和题中的
class Turing extends Thread{
public void run(){
for(int i =0; i < 2; i++){
System.out.println(i);
}
}
}
有什么关系?
什么GC,根本不能及时起作用的,你的内存再多也没有用的。这样的编程风格
m.go(new Turing(){});//
要是在C++中,这样的程序员一定是会被骂死的。即使他不知道什么叫内存泄露。
MVC或者什么是事件委托。这样你就明白了,实际上这个跟win32的消息影射一样的道理。
class Turing extends Thread{
public void run(){
for(int i =0; i < 2; i++){
System.out.println(i);
}
}
}
是继承关系, 即 Turing(){} 是子类