我寫了一個匿名內部類,
ActionListener ac = new ActionListener(){
@Override
public void actionPeformed(ActionEvent e){
...
} public void myMethod(){
...
}
};
ac.actionPerformed() 可以調用而ac.myMethod()就不可以調用
為什麽 ? 怎么做才能調用myMethod ??注:這些代碼都是在同一個public class 里面除了寫一自己的類繼承ActionListener,還有其它辦法嗎?
ActionListener ac = new ActionListener(){
@Override
public void actionPeformed(ActionEvent e){
...
} public void myMethod(){
...
}
};
ac.actionPerformed() 可以調用而ac.myMethod()就不可以調用
為什麽 ? 怎么做才能調用myMethod ??注:這些代碼都是在同一個public class 里面除了寫一自己的類繼承ActionListener,還有其它辦法嗎?
解决方案 »
- 分享一个更改后的Execll工具类(上次上传的有bug)+散分
- jdbc 连接 Orcale :ORA-03115: 不支持的网络数据类型或表示法
- 偶尔有缓冲区的概念,但是很想知道为什么,大家帮忙看看好么?
- JSplitPane的分割问题
- HashMap可以这样遍历么?
- 帮忙写个校验密码的类,谢谢,在线等
- 哪 位 朋 友 有 基 于 UDP 的 客 户 端 /服 务 器 端 源 码 呀 ?
- 连接池问题,高手请进!!很急,在线等候
- 奇闻:Apache+Apache JServ 1.1.1+1G内存居然报内存不够,那位高友知道参数设置,把俺的1G内存都利用起来,感激不尽啊
- jbuild 4.0安装后如何配置?
- websphere 能部署两个一样的网站吗?
- 帮忙引导引导
ActionListener ac = new ActionListener(){
@Override
public void actionPeformed(ActionEvent e){
...
} public ActionListener myMethod(){
...
return this;
}
}.myMethod();
import java.lang.reflect.*;public class Test {
public static void main(String[] args) throws Exception {
ActionListener ac = new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.out.println("actionPeformed");
} public void myMethod(){
System.out.println("myMethod");
}
};
ac.actionPerformed(null);
Method myMethod = ac.getClass().getMethod("myMethod", new Class[0]);
myMethod.invoke(ac);
}
}经检验,反射可以完成这个调用,回答完毕