可能是自己的java基础没学好吧,最近在研究swing 的时候,我发现这样的用法,请求帮助
JButton bt = new JButton("bt");
bt.addActionListener(new ActionListener(){
void actionPerformed(ActionEvent e) {
//要执行的操作
}
});
我查了下,这个匿名类是继承接口ActionListener的,老实说,我还真不清楚这样的用法,
在我印象中,用匿名类的时候,其中new的时候, 名字是可以随便取的。 不一定非得要ActionListener这个名字
我悄悄的问下,如果不用这个名字,是不是就不继承ActionListener接口了
JButton bt = new JButton("bt");
bt.addActionListener(new ActionListener(){
void actionPerformed(ActionEvent e) {
//要执行的操作
}
});
我查了下,这个匿名类是继承接口ActionListener的,老实说,我还真不清楚这样的用法,
在我印象中,用匿名类的时候,其中new的时候, 名字是可以随便取的。 不一定非得要ActionListener这个名字
我悄悄的问下,如果不用这个名字,是不是就不继承ActionListener接口了
解决方案 »
- 怎样用properties连接MYSQL
- string过滤
- 有关鼠标拖动button的问题!问了很多人,都没解决。。。。。。。
- Java使用Windows风格后字体大小问题
- 我是菜鸟,问个弱弱的问题,用"RandomAccessFile”类怎样读取中文字符呀?
- 学校录取学生
- 巨简单,散分问:如何关闭窗口,如何利用JSP设计如果5分钟没有页面操作则自动关闭界面?
- 用什么方法来保护Java程序的安全
- Panel的一个问题
- Who can explain it?
- 大家帮小弟看下if语句括号位置不同造成得影响
- C o m p a r a t o r C o m p a r a b l e在使用的时候是否需要重写某些
2.还有你接口是不能直接new 出来的,但是有了匿名了你就可以new接口,但实际上你new 的是一个实现了那个接口的实现类 bt.addActionListener(new ActionListener(){
void actionPerformed(ActionEvent e) {
//要执行的操作
}
所以: new ActionListener接口 是new 了一个实现ActionListener接口的实现类 ,只是你不知道类它的名字
(){
JButton bt = new JButton("bt");
bt.addActionListener(new A());
}
private class A implements ActionListener()
{
//.....
}
ActionListener 确实是个接口名字呀
我想问下,如果我用new ActionXXX其他名字行不行哦?
可以new ActionXXX 但要看你的 ActionXXX是什么咯 如果是接口的话就应该用匿名类!
JButton bt = new JButton("bt");
bt.addActionListener(new ActionListener(){
void actionPerformed(ActionEvent e) {
//要执行的操作
}
}); 我把new ActionListener 改称new Action
这样可行?
我觉得还有点要注意:那是匿名“内部类”