JAVA中匿名内部类使用最常见,用起来最方便的地方是在进行GUI编写时,添加控件响应事件时。在为控件添加事件时使用内部匿名类是大家常用的方法,我这里举一个列子,相信你看过之后既能理解又会用了。 这是为一个按钮添加一个左键单击事件,点单击后打印 hello!! import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*;
public class Press { /**
* @param args
*/
JFrame jf = new JFrame("内部匿名类演示"); //创建一个JFrame组件
JButton jb = new JButton("Press me"); //创建按钮
JLabel jt = new JLabel(); //创建一个标签用来输出“hello!!”
public Press(){
jf.add(jb,BorderLayout.SOUTH); //添加按钮
jf.add(jt,BorderLayout.CENTER); //添加标签
jf.setSize(200,200); //设置jf大小
jf.setVisible(true); //设置jf为可见
/*接下来是内部匿名类的应用了,为jb添加一个左键单击响应事件*/
jb.addActionListener(new ActionListener(){ /*这里就是内部匿名类了,没有类名,下面是类的方法体*/ @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jt.setText("hello!!");
}});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Press p =new Press();
}}
你可以试着给jf添加一个事件响应,让它点×可以关掉,这样你就能理解匿名内部类了,再看看书里对“内部类”、“匿名类”的介绍,一个个理解这样“匿名内部类”就没问题了
匿名类, 就是没有类名的类 。 例: new Thread(new Runnable() {//因为是实现了Runnable接口的匿名类,就要实现里面的方法 pulic void run() { } } ).start(); //匿名类就这样的。接下来是内部类 public class Demo{ private class Test{ } } 在一个类的内部声明的类,就是内部类,当然,内部类一般都是在只提供给当前类使用的。
java 直接修改开源代码,然后再编译,然后再用
这么点分 不想写