フィールドを初期化した後に、そのコンストラクタの内部からスレッドを開始することはできますか?一般に、コンストラクタの内部からスレッドを開始するのは悪い習慣ですか?たとえば :一般的にコンストラクタ内部からスレッドを開始する
class A extends Thread{
private String s;
private int x
public A(String str,int xx){
s = str;
x = xx;
start();
}
public void run() { System.out.println(s + " " + x);}
}
まず、スレッドを拡張するのは悪い習慣です。これは問題ではありません。しかし、そうでない場合でも、投稿したものは良いアイデアではありません。オブジェクトの作成が完了する前にオブジェクトを批判的に使用することは決して良いことではありません。 –
スレッドを拡張することが悪い習慣である理由を説明できますか?私は制限を見ることができます(拡張することはできません)が、それ以外の選択肢はかなりあります。 –