Это означает, что класс обязуется отвечать на методы, определенные « interface » Comparable .
Преимущество, которое вы имеете с этим (и любым другим объявлением «реализующего»), состоит в том, что вы можете вместо этого « abstract » тип объекта и код для интерфейса.
Учтите это
class A implements Comparable {
....
}
class B implements Comparable {
....
}
class C implements Comparable {
....
}
Затем вы можете закодировать что-то, что может использовать Comparable вместо определенного типа:
public void doSomethingWith( Comparable c ) {
c.compareTo( other ); // something else...
}
И вызвать его как:
doSomethingWith( new A() );
doSomethingWith( new B() );
doSomethingWith( new C() );
Поскольку вам не важно, какой тип класса, вам просто нужно, чтобы он реализовал интерфейс.
Это (программа для интерфейса, а не для реализации) является одним из самых мощных методов в мире ОО-программирования, поскольку оно способствует слабой связи .