У меня есть некоторые проблемы с вызовами Action1 и Action2 классов Class1 и Class2 из for-loop. Я не могу сделать for (PreClass p : preClassArray)
, потому что эти методы не реализованы в PreClass. Если бы у меня был только один интерфейс, я мог бы написать I1[] preClassArray = new I1[3];
и сделать for (I1 p : preClassArray)
и вызвать Action1, без проблем. Но мне также нужен Action2.Интерфейсы Реализации, используемые в Loop
Я думал об абстрактных методах Action1 и Action2 в PreClass, но мне нужны эти два метода только в Class1 и Class2, все остальные 98 классов, которые расширяют PreClass, не нуждаются в нем. Поэтому я не хочу реализовывать 98 абстрактных действий для них.
Пожалуйста, помогите мне, чтобы понять это. Возможно, я ошибаюсь, просто начал Java и программировал. Спасибо.
//...
PreClass[] preClassArray = new PreClass[3];
pc[0] = new Class1();
pc[1] = new Class2();
pc[2] = new Class1();
for (/*Don't know how to point on I1 and I2 here*/ p : preClassArray) {
p.Action1();
p.Action2();
}
}
class PreClass {
//...
}
class Class1 extends PreClass implements I1, I2 {
// realization of Action1 and Action2
}
class Class2 extends PreClass implements I1, I2 {
// same here...
}
interface I1 {
void Action1();
}
interface I2 {
void Action2();
}
@alexbt почему я наследую его –
Я думаю, это то, что мне нужно. Огромное спасибо. Я был неправ, думая, что реализация интерфейса другим требует переписывания этого :) – Nederes