为什么在新建对象后面跟了一个方法。。。

tank8023 2011-09-21 04:05:02
public void init() { 
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e){
String name =
((JButton)e.getSource()).getText();
t.setText(name + " Pressed");
}
};
b1.addActionListener(al);
add(b1);
b2.addActionListener(al);
add(b2);
add(t);
}

RT,新建了ActionListener对象后,为什么在后面更了一个方法,还用{}括起来了?
...全文
81 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
whlusha720 2011-09-21
  • 打赏
  • 举报
回复
是个内部类 然后里面有方法
宁波朱超 2011-09-21
  • 打赏
  • 举报
回复
支持楼主 重复发帖 霸气 威武
liuyuhua0066 2011-09-21
  • 打赏
  • 举报
回复
说的是楼主 表误会 呵呵
[Quote=引用 8 楼 echomeng123 的回复:]
还有,我已经结贴了,没收到分数吗?
[/Quote]
echomeng123 2011-09-21
  • 打赏
  • 举报
回复
还有,我已经结贴了,没收到分数吗?
原来缘来 2011-09-21
  • 打赏
  • 举报
回复
接口是没有办法new的
Interface i=new Interface(){};大括号里要写Interface未实现的方法
new Interface(){};相当于是Interface的子实现,但是没有名字,因此叫匿名类
new Interface(){};因为继承了Interface,Interface的引用可以指向它
echomeng123 2011-09-21
  • 打赏
  • 举报
回复
前几天刚发了这样的帖子,估计你被误会了!
daijope 2011-09-21
  • 打赏
  • 举报
回复
匿名内部类,内部类的一种,成员内部类,静态内部类,局部内部类,匿名内部类。
liuyuhua0066 2011-09-21
  • 打赏
  • 举报
回复
重复发帖
而且发帖还不结贴
这是要闹哪样
小笨熊 2011-09-21
  • 打赏
  • 举报
回复
又是一个。。。匿名内部类。
zl3450341 2011-09-21
  • 打赏
  • 举报
回复
发贴不要发重复了,楼主
风尘中国 2011-09-21
  • 打赏
  • 举报
回复
ActionListener al = new ActionListener() { 
public void actionPerformed(ActionEvent e){
String name =
((JButton)e.getSource()).getText();
t.setText(name + " Pressed");
}
};


这是典型的 匿名内部类,new新建了一个实现了ActionListener接口的类,这个类的实体在{}后面声明,方法体里面具体实现了actioPerformed方法

楼主刚学java吧,建议多看看 内部类 和匿名类部分

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧