IN this specific situation it's not very useful, as other posters have explained it's fairly obvious that Thread already implements Runnable.
In some cases, "stating the obvious" can be useful though, just as a "reminder" to the user of your class: if you have a fairly large hierarchy of super-classes and interfaces, with several levels of inheritance (some of them in 3rd-party libraries), it could be useful as a helper to declare a class as implementing a specific interface, even though it implements it by definition because its superclass already implements it or implements one of the sub-class of that interface.
It's specially useful with marker interfaces (some people might object they should not be used at all, and they are bad practices - well sometimes you don't control the environment fully), i.e. interfaces with no actual implementation and just designed to mark your object eligible for a special function (e.g. Cloneable). In such a case, marking each of the allowed classes even though their parents are already eligible can be more explicit, so more useful.