This week's book giveaway is in the OCAJP 8 forum.
We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes why we need to override run Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "why we need to override run " Watch "why we need to override run " New topic

why we need to override run

abhay jain
Ranch Hand

Joined: Jun 03, 2011
Posts: 130
why we need to override run ( ) to create a thread ?
Matthew Brown

Joined: Apr 06, 2010
Posts: 4541

Because that's how they work! To create a thread you do one of two things:

- Write a class that extends Thread
- Write a class that implements Runnable, and pass an instance of that to a Thread object (via its constructor)

In the second case, you have to implement run() because it's part of the Runnable interface. In the first case, you don't have to override run(), but your thread won't do anything - without it you'd just get a new thread that exits immediately.

This is what is happening: when a thread is started it executes the run() method of the Thread object. The default implementation of this runs the run() method of any Runnable you've passed in. So that's where you have to put whatever code you want performing.
I agree. Here's the link:
subject: why we need to override run
jQuery in Action, 3rd edition