lisliefor
发贴: 287
积分: 7
|
于 2006-06-01 09:50
首先,你如果想让代码可重用性高,那么你的GUI、逻辑处理、实例生成,这几块最好分开来写,不然程序耦合度太高。 一般来说,不会将ActionListener的内部类写在main()方法里面,最好养成这样的习惯,main()里面不能塞太多东西,具体实现应该写一个方法,在main()里面调用就行。 最后面一部分,你的意思是ac、ac3都是内部类,它们与: j.addActionListener(new ActionListener (){ public void actionPerformed(ActionEvent e){ ((JButton)e.getSource()).setText("hello"); } }); 的区别吧! 前者是很传统的内部类,而后者是匿名的内部类(不能拥有构造函数,因为它没有具体类名)。所以无法以常用的方式产生实例,而只能通过在数据元素定义处完成初始化,例如:写一个public ActionListener getListener(){ return new ActionListener(){......}; } ,在outer(外围)class的实例调用这个方法的时候,就完成了对该类的初始化。
|