没错,这是一个方法,其中fun方法的参数是new创建的一个Action对象,但new后面的“{ }”及其中的内容如何理解?语法上怎么解释?这让人很困惑。
解决方案 »
- java windows界面感官下JFileChooser的显示问题
- jfreechat 时 序 图问题!辛苦大家了
- char类型转int型的一道题
- 什么是GUI语言脚本
- 问两个swing的问题? table拖放和容器
- 如何在Jbuilder中使用Log4j
- java编写的文本编辑器生成的文件只能被本编辑器修改!
- 一个面试题,汗啊!
- 急救,执行的问题!!
- 请问哪为为可以给我些有关scjp1.4中ASSERTIONS和GARBAGE COLLECTION的教程和习题!
- Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
- 请问一个关于数据库的查询结果返回resultset的问题
class A
{
public A()
{
print();
}
public void print()
{
System.out.println("aaa");
}
public void fun(B b){
System.out.println("eee");
}
}
class B extends A
{
public void print()
{
System.out.println("bbb");
}
}class Main{
public Main(String a,String f,String c,String d,String e,B h){
System.out.println(a+f+c+d+e);
new B();
}
}public class test
{
public test()
{
}
public static void main(String[] args)
{
B b=new B();
A a=new A();
a.fun(
new B()
{
public void B(){
System.out.println("sha B");
print();
}
public void print(){
System.out.println("new B");
}
public Object run()
{
new Main("i","c", "p", "l", "s",new B());
System.out.println("sss");
return null;
}
});
a.print();
a=b;
a.print();
b.print();
}
}
new Action(){...}是定义了一个匿名的Action类的子类。该子类提供了方法run();run()方法建立Main类的一个实例后返回。
不过想到匿名类我有个问题问问:
一个JFrame里有5JButton,每个按钮的事件都不一样,如果不用匿名类来addActionListener(),那应该怎么写?
class MyActionListener implements ActionListener{
public voud actionPerform(ActionEvent e){
/*check source and deal with the things*/
if(e.getSource() == ...)
.....
}
}
......
MyActionListener l = new MyActionListener();
Button b[] = new Button[5];
for(int i = 0;i<5;i++)
b[i].addActionListener(l);
....