이 프로그램 생각해 출력을 실행에자바 스레드가 의심
public class test {
public static void main(String [] args){
Runnable r = new Runnable() {
public void run() {
System.out.print("foo");
}
};
Thread t = new Thread(r) {
public void run() {
System.out.print("bar");
}
};
t.start();
}
}
것은 내가 그래서 이유를 알고 싶습니다
bar
입니다.
나의 이해 :
우리는 run 메소드를 재정 의하여 Runnable를 구현하는 익명의 내부 클래스를 인스턴스화합니다. 그리고 그것을 r에 대입합니다.다음으로이 실행 가능 파일을 Thread 클래스 생성자에 전달합니다. 그러나 Run을 오버라이드하여 Thread를 확장하는 새로운 익명의 내부 클래스를 생성합니다.
이제 두 가지 실행 방법이 있으며 두 번째는 첫 번째보다 우선합니다.
내가 틀렸다면 나는 매우 혼란 스럽다.
또한 실제 Java 프로그래밍에서 사용되는 미친 것들입니까? (내 교수님은 그렇다고 말합니다. 우리를 계속 지켜주는 점 : D).