スレッドを作成し、start()メソッドをクラスのコンストラクタ内でここで行うように呼び出すのは正しいですか?新しいスレッドを内部で呼び出すのがコンストラクタ
public class Server implements Runnable {
private ServerSocket server;
public Server(int port) {
try {
//Opens a new server
server = new ServerSocket(port);
} catch (IOException ioe) {
ioe.printStackTrace();
}
new Thread(this, "Server").start();
}
@Override
public void run() {
}
}
説明できますか? – Mazzy
@Mazzy、あなたは、別のオブジェクトが部分的に構築されたオブジェクトを見ることを許可しています。 – mre
静的ファクトリメソッドを使用して、負の副作用なしに目的の効果を達成できます。 – emory