在類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