各位说的还不100%正确,各位瞧下面着段,波浪线那地方就必须得写;,而它也不是匿名类 getContentPane().add(cb[0]); getContentPane().add(cb[1]); getContentPane().add(cb[2]); show();ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent ae) { JCheckBox b = (JCheckBox) ae.getSource(); b.setText("qqqqqqqq"); } }; ~~~~~cb[0].addActionListener(al); cb[1].addActionListener(al); cb[2].addActionListener(al);
if() 后不写qcrsoft(网痞) 所举的例子其实是实力化al,比较复杂的一个实力化。
ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent ae) { JCheckBox b = (JCheckBox) ae.getSource(); b.setText("qqqqqqqq"); } };以上精简到一行会怎样?? ↓ ActionListener al = new ActionListener(){public void actionPerformed(ActionEvent ae){...}};看到没有? 再简化↓ ActionListener al = new ActionListener(){....};这里的 ActionListener 直接给出类的实现代码,就是 { } 里的 其实它与 A a = new A(); 没什么区别说到底还是“一句话”结束加" ; ",不是什么语感 只是这句“话”比较长,所以分行加缩进来写如果用“语感”,那java的编译器怎么写?? :)
java一条语句结束就必须用“;”
没有什么规律。
getContentPane().add(cb[0]);
getContentPane().add(cb[1]);
getContentPane().add(cb[2]);
show();ActionListener al = new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
JCheckBox b = (JCheckBox) ae.getSource(); b.setText("qqqqqqqq");
}
};
~~~~~cb[0].addActionListener(al);
cb[1].addActionListener(al);
cb[2].addActionListener(al);
{
public void actionPerformed(ActionEvent ae)
{
JCheckBox b = (JCheckBox) ae.getSource(); b.setText("qqqqqqqq");
}
};以上精简到一行会怎样?? ↓
ActionListener al = new ActionListener(){public void actionPerformed(ActionEvent ae){...}};看到没有? 再简化↓
ActionListener al = new ActionListener(){....};这里的 ActionListener 直接给出类的实现代码,就是 { } 里的
其实它与 A a = new A(); 没什么区别说到底还是“一句话”结束加" ; ",不是什么语感
只是这句“话”比较长,所以分行加缩进来写如果用“语感”,那java的编译器怎么写?? :)