Runnable または拡張 Thread クラスとして実装されているクラスをコンパイルすると、保護された void run() 内から呼び出された Java クラスが一緒にコンパイルされることに気付きました。
これは私のコードです:
public class Main extends Thread{
Main(){
super("Main Thread-Entry Point");
this.start();
}
public static void main(String[] args){
new Main();
}
public void run(){
try{
System.out.println("creating MDI and SQL threads");
SQL sql = new SQL();
sql.main(null);
Thread.sleep(10000);
MDI mdi = new MDI();
mdi.main(null);
System.out.println("thread created successfully");
}
catch(Exception ie){
ie.printStackTrace();
}
}
}
これがJavaプログラマーが一般的に知っておくべき一般的なことかどうかはわかりません。なぜこれが起こるのか説明してください??