第一个例子是可能的,但是例子2是不可能的,并且导致编译器的“非法表达式”的错误信息。为什么不能在run()方法中定义一个方法?为什么不能在线程的run()方法内定义一个方法
例如1
public class TextUpdater implements Runnable {
public void inter(){
}
@Override
public void run() {
inter();
}
}
}
例2中,不可能
public class TextUpdater implements Runnable {
@Override
public void run() {
public void inter(){ // results in error
}
}
}
这不会编译的原因:它是非法的。 – Fildor
这在其他语言中可能完全合法,但在Java中不适用。 – mavrosxristoforos
嗯......这有点像问自行车为什么没有翅膀。 –