почему мы можем отливать из суперкласса вниз к подклассу, как так:Разница между классом downcasting vs downcasting Интерфейс в Java?
Object o = getStringObject();
String str = (String) o;
, но затем использовать тот же принцип, чтобы бросить интерфейс вниз к югу от типа Э.Г.?
InterfaceType anInterface;
anInterface = (InterfaceType) SubClassVar;
так что ПРИМЕР 1 все в порядке и денди. Что я не понимаю, так это то, что если интерфейс является супертипом класса, который его реализует, то как у нас нет исключения ClassCastException, когда мы понижаем класс до интерфейса, если внутри иерархии интерфейс выше? Я где-то читал, что есть разница между кастингом через классы и интерфейсы, но, конечно, им не хотелось объяснять, почему, поэтому я остался в открытом доступе. Спасибо, Stack!
Я смущен. Вы говорите, что 'SubClassVar' является' InterfaceType'? Тогда для актера использовать нечего. –
@SotiriosDelimanolis SubClassVar - это класс, который реализует InterfaceType – 3alto
@SotiriosDelimanolis Возможно, мне нужна дополнительная информация, но если вы разрабатываете для android, это шаблон коммуникатора, используемый для разговора между активностью и фрагментом. – 3alto