#java #интерфейс
Класс А реализует интерфейсы Serializable и Cloneable. От него наследуется класс B. Реализует ли производный класс интерфейсы базового класса?
Ответы
Ответ 1
Реализует. В этом можно убедиться на примере: public class A implements java.io.Serializable, Cloneable { } public class B extends A { } B b = new B(); System.out.println(b instanceof java.io.Serializable); System.out.println(b instanceof Cloneable); В обоих случаях будет выведено true. По поводу комментария: Если класс A будет абстрактным: public abstract class A implements java.io.Serializable, Cloneable { } то в данном конкретном случае для класса B ничего не поменяется. Однако если, например, класс A будет выглядеть так: public abstract class A implements AutoCloseable { } то в классе public class B extends A придётся реализовать метод close из интерфейса AutoCloseable, потому что иначе возникнет ошибка компиляции: java.lang.RuntimeException: Uncompilable source code - B is not abstract and does not override abstract method close() in java.lang.AutoCloseable
Комментариев нет:
Отправить комментарий