Chodzi mi o to że:
interface B {...}
interface A extends B {...} // allowed
interface A implements B {...} // not allowed
Wyszukałem w Google i znalazłem to :
implements
oznacza zdefiniowanie implementacji metod interfejsu. Jednak interfejsy nie mają implementacji, więc nie jest to możliwe.
Jednak interfejs jest w 100% klasą abstrakcyjną, a klasa abstrakcyjna może implementować interfejsy (w 100% klasa abstrakcyjna) bez implementowania swoich metod. Jaki jest problem, kiedy definiuje się jako „interfejs”?
W szczegółach,
interface A {
void methodA();
}
abstract class B implements A {} // we may not implement methodA() but allowed
class C extends B {
void methodA(){}
}
interface B implements A {} // not allowed.
//however, interface B = %100 abstract class B