Класс А реализует интерфейсы Serializable и Cloneable. От него наследуется класс B
Реализует ли производный класс интерфейсы базового класса?
Ответ
Реализует. В этом можно убедиться на примере:
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
Комментариев нет:
Отправить комментарий