Подобно тому, как вы можете привести иерархическую цепочку (предположение), я хочу сделать нечто подобное, но с интерфейсами.
Существует родительский класс "A" и несколько дочерних классов«А».Однако подмножество дочерних классов, с которыми я имею дело, реализуют какой-то интерфейс.Однако, не все дочерние классы делают, только те, с которыми я работаю.
Так что сигнатура метода выглядит примерно так:
public void action(A a) {
}
Итак, метод может сделатьчто-то с чем-то типа «А» или его потомком, однако, единственное, что меня интересует, - это реализация одного и того же интерфейса.
Итак, я хочу, чтобы был способ предположить (или приведение?) интерфейса, чтобы я мог вызвать один из методов интерфейса.
Так что-то вроде:
public void action(A a) {
((B) a).methodFromB(); // ((Interface) a).methodFromInterface();
}
Однако вместо этого я буду знать интерфейс конкретного объекта, который яработаю с орудиями.