Mam nadzieję, że pomoże ci to trochę to, czego nauczyłem się podczas studiów na uczelni oops (core java).
Implements oznacza zdefiniowanie implementacji metod interfejsu. Jednak interfejsy nie mają implementacji, więc nie jest to możliwe. Interfejs może jednak rozszerzać inny interfejs, co oznacza, że może dodawać więcej metod i dziedziczyć jego typ.
Oto przykład poniżej, to jest moje zrozumienie i to, czego nauczyłem się w Ups.
interface ParentInterface{
void myMethod();
}
interface SubInterface extends ParentInterface{
void anotherMethod();
}
i miej na uwadze jeden interfejs może tylko rozszerzyć inny interfejs i jeśli chcesz zdefiniować jego funkcję w jakiejś klasie to tylko interfejs jest zaimplementowany np. poniżej
public interface Dog
{
public boolean Barks();
public boolean isGoldenRetriever();
}
Gdyby klasa miała zaimplementować ten interfejs, wyglądałby tak:
public class SomeClass implements Dog
{
public boolean Barks{
// method definition here
}
public boolean isGoldenRetriever{
// method definition here
}
}
a jeśli klasa abstrakcyjna ma jakąś abstrakcyjną funkcję zdefiniowaną i zadeklarowaną i chcesz zdefiniować te funkcje lub możesz powiedzieć, że zaimplementuj tę funkcję, to przypuszczasz, że rozszerzasz tę klasę, ponieważ klasa abstrakcyjna może być rozszerzana tylko. oto przykład poniżej.
public abstract class MyAbstractClass {
public abstract void abstractMethod();
}
Oto przykład podklasy MyAbstractClass:
public class MySubClass extends MyAbstractClass {
public void abstractMethod() {
System.out.println("My method implementation");
}
}