I just learn the theory about thread. And there is Thread and Runnable.
class A extends Thread{
public void run(){
while(true) {
System.out.println("Hi");
}
}
}
class B implements Runnable{
public void run(){
System.out.println("Hi");
}
}
Thread is good with rich API, so why would I use Runnable instead of Thread?
Thanks.
Answer
1. Java doesn't support multiple inheritance, which means you can only extend one Java class, so once you extended Thread
class you lost your chance and cannot extend(inherit) another class in java.
2. In OOP extending a class generally means adding new functionality, modifying or improve behaviors. If you are not making any modification on Thread
, then use Runnable
interface instead.
3. Implementing Runnable
makes your class more flexible(you can implement more than one interface).
No comments:
Post a Comment