Обращение к оригинальной функции наследника из предка в Java
У меня хранится массив клеток cells. Клетка -- это abstract class Cell Есть разные типы клеток, например, EmptyCell, **BaseCell*. В EmptyCell должна быть функция, которая нужна только данному классу. Вот немного кода:
public class EmptyCell extends Cell {
public void f() {
// some code
}
public void specialMethod() {
// some code
}
}
public class BaseCell extends Cell {
public void f() {
// other f
}
}
Вопрос: как обратиться к данной функции из этого массива? Корректно ли писать ((EmptyCell)cells[i]).f(), если я уверен, что в i-ой ячейке лежит EmptyCell (например, проверкой instanceof)?