Объявление интерфейса Java и метода

Вопрос: Что происходит, когда класс указывает, что он реализует интерфейс, но не предоставляет декларации всех методов в интерфейсе?

5 ответов

Вы должны объявить все методы, унаследованные этим интерфейсом, иначе мудрый он не будет компилироваться.

Пример:

interface SomeInterface { public void methodOne(); public void methodOne(); public void methodOne();
}

А также:

class SomeClass implements SomeInterface { //this wont complie
}

Но если класс является абстрактным классом, он может объявить метод, унаследованный от этого интерфейса, или некоторые из них,

Пример:

interface SomeInterface { public void methodOne(); public void methodOne(); public void methodOne();
}

А также:

abstract class SomeClass implements SomeInterface { //this will compile
}


Ошибка компиляции, если класс не абстрактный. Если класс является абстрактным, то можно отказаться от некоторых методов объявленных интерфейсов. Недопустимые методы должны быть в конце, определенном в производных не абстрактных классах.


Он не сможет скомпилировать. "Если ваш класс утверждает, что реализует интерфейс, все методы, определенные этим интерфейсом, должны появляться в исходном коде перед тем, как класс будет успешно компилироваться". из концепций объектно-ориентированного программирования


Ошибка компиляции создаст сообщение, чтобы переопределить абстрактные методы. Помните, что интерфейс, в отличие от абстрактных классов, вообще не может обеспечить реализацию. Это означает, что любой класс, реализующий интерфейс, должен обеспечивать реализацию для всех методов.


Ну, это просто не компилируется вообще, если ваш класс не абстрактный.

Например, компилятор говорит, что нет!

licensed under cc by-sa 3.0 with attribution.