在类OuterClass中我有一个Thread InnerThread。在线程中,我需要从OuterClass访问一个方法。我该怎么做呢?我试过了:从内部线程访问外部类java
public class OuterClass{
public static void main(String[]args){
Runnable thread = new innerThread(param);
new Thread(thread).start();
public void method(param1, param2){
System.out.println("Test method");
}
public class InnerThread extends Thread{
public void run(){
System.out.println("Test thread")
OuterClass.this.method(param1, param2);
}
}
}
但是程序并没有进入方法。为什么是这样,它如何工作?
编辑 Im肯定线程运行,因为我执行其他操作存在和他们的工作,我把打印权的方法(参数1,参数2)的开始,所以我敢肯定,它不进入方法。我只尝试了方法(param1,param2)而没有OuterClass.this,它也没有工作。
你是什么意思“不进入方法”?你怎么确定的? – 2013-03-02 23:29:47
你真的开始线程吗? – 2013-03-02 23:30:11
只要调用'method'应该没问题,除非需要消歧。这个问题目前的形式还不够清楚 - 请提供[SSCCE](http://sscce.org/)。 – 2013-03-02 23:33:51