2016-06-20 5 views
-5

このコードは、ログインまたは構文エラーなしで正しく実行されています。どうして?私はなぜ新しいスレッド(新しいスレッド()、 "文字列"); '

意図的にrun()メソッドが実装されていません。 Thread

public class Sample { 
    public static void main(String[] args) { 
     Thread thread = new Thread(new Thread(),"Name"); 
     thread.start(); 
    } 
} 
+4

*ログイン*エラーが発生するのはなぜですか? –

+0

「実行されなかった」という主張は偽です。 –

+2

「正しく動作していますか?それはどういう意味ですか?プログラムはそれがするべきことをするならば_correct_です。あなたはこのプログラムに何をするつもりでしたか? –

答えて

0

{ target.run( ); } }

それはあなたのコードで起こっているのと同じ、ターゲットがnullの場合、何もしないし、メソッド呼び出しを完了示して、あなたはrun()メソッドのいずれかの実装を提供しなかったため、1をデフォルト、

を実行されています
1

run()空ですが、それはまだ存在しています。スレッドを開始すると、何もしません(ロジックが利用可能なrun()メソッドがないため)、終了します。あなたの例はRunnableパラメータとしてThreadのインスタンスを提供します。

構文は正しいですが、当然プログラムが空のスレッドを開始することはないため、論理的なエラーです。あなたは以下のように)メソッドを、それがデフォルトの実行を(持っているThreadクラスの実装を見ている場合は、 @Override ます。public void実行(){ 場合(目標!= null)の

関連する問題