В Java documentaion говорится:Может ли интерфейс быть суперклассом?
@Override
аннотаций информирует компилятор, что элемент предназначается, чтобы переопределить элемент, объявленный в суперкласса.
У меня есть класс, который реализует в интерфейс и реализованные ППР имеют @Override
аннотацию.
Означает ли это (согласно документам), что интерфейс является суперклассом моего класса? Но как это может быть, учитывая, что интерфейсы содержат только «пустые» методы, а не методы, которые на самом деле делают вещи?
Мой код LibGDX связанные:
public class MouseAndKeyboard implements ApplicationListener {
private Texture plane1;
private Sprite mainPlane;
private SpriteBatch mainSpritePacket;
@Override
public void create() {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
...
Интерфейс может быть расширен только интерфейсом, но может быть реализован либо абстрактным классом, либо классом Concrete –
, связанным: [Как реализованы внутренние интерфейсы Java? (vtables?)] (http://stackoverflow.com/questions/4423968/how-are-java-interfaces-implemented-internally-vtables) – NiziL
Интерфейсы были созданы таким образом, чтобы «наследование» было возможно (с большими ограничениями) , Таким образом, в основном это можно было бы считать Суперклассом. Вы также должны смотреть на него с другой стороны: абстрактный суперкласс также может иметь абстрактный метод без какого-либо метода! – ITroubs