This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan 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 Android Security Essentials Live Lessons this week in the Android 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: 4344

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.
Consider Paul's rocket mass heater.
subject: why we need to override run
Similar Threads
Object hashCode ?
Primary Key Class
Thread question-no run() method signature
Can we define run() in another method of the class ??