File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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 Java Interview Guide this week in the Jobs Discussion 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: 4544

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
It's not a secret anymore!