Может кто-нибудь объяснить мне, в чем смысл создания переменной класса интерфейса?
В частности, что означает следующий код:
InterfaceA x = (InterfaceA) factory.createFactoryObject(zz.CONST);
Я всегда думал, что интерфейс (в Java) — это просто набор объявлений методов, функциональность которых определяется классами, реализующими интерфейс. Например, если у меня есть интерфейс:
public interface IMoveBehavior(){
public void move_Along_X();
public void move_Along_Y();
public void move_Along_Z();
}
тогда класс будет использовать этот интерфейс как:
public class ABC() implements IMoveBehavior{
public void move_Along_X(){
//do whatever
}
public void move_Along_Y(){
//do whatever
}
public void move_Along_Z(){
//do whatever
}
}
Итак, возвращаясь к
InterfaceA x = (InterfaceA) factory.createFactoryObject(zz.CONST);
Я действительно не понимаю, что именно это означает концептуально. Может ли кто-нибудь объяснить или указать мне ресурс, где я могу обучаться?
Спасибо!!
(InterfaceA) factory.createFactoryObject(zz.CONST)
, это не мой вопрос. Мой вопрос: почему мы приводим тип к интерфейсу... - person JavaFan   schedule 21.08.2015List
, а неArrayList
илиLinkedList
, тогда ссылка, опубликованная @GriffeyDog, будет дубликатом. - person Luiggi Mendoza   schedule 21.08.2015