в java нет множественного наследования. использование интерфейса даёт больше гибкости.
The majority of classes created that need to be run as a thread will implement Runnable since they probably are extending some other functionality from another class
http://www.javaworld.com/javaworld/jw-04-1996/jw-04-threads.html