Reports calls to start() on java.lang.Thread or any of its subclasses during object construction.

While occasionally useful, such constructs should be avoided due to inheritance issues. Subclasses of a class that launches a thread during the object construction will not have finished any initialization logic of their own before the thread has launched.

This inspection does not report if the class that starts a thread is declared final.

Example:


  class MyThread extends Thread {
    MyThread() {
      start();
    }
  }