Both are the ways of creating a thread in
java, but we prefer Interfaces over inheritance because it gives you flexibility to extend other class you might want.
I will extend Thread class only when my class has to be a thread only.(IS-A).
My class has to do other things beside being a thread like calculations, calling other interfaces, joining results then i will better choose Interface.Hope that will help you.