Machine-translated by Google. Questions are authored in English.
Top

Discussion

Given the code below, which statement about the declaration is correct?

class Worker extends Thread { }

Thread outer = new Thread(new Worker());

  • A.It fails, because Thread cannot be a constructor argument
  • B.It fails, because Runnable has no constructor
  • C.It compiles, but only if Worker overrides run
  • D.It compiles, because a Thread is also a Runnable

Answer: D

Thread implements Runnable, so a Thread object satisfies the Runnable parameter and the outer thread will call the inner one's run on its own thread of execution. It compiles regardless of whether Worker overrides anything, since Thread supplies an inherited run.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.