У меня есть тестовый пример Junit4
, который статически импортирует метод (ы) org.junit.Assert.assertEquals
.
import static org.junit.Assert.assertEquals;
В этом классе я создал служебный метод для утверждения некоторых сложных внутренних классов, которые не реализуют равенства (а также испытывают трудности с его реализацией).
private void assertEquals(MyObj o1, MyObj o2)
{
assertEquals(o1.getSomething(), o2.getSomething());
assertEquals(o1.getSomethingElse(), o2.getSomethingElse());
...
}
Я ожидал, что код будет вести себя так, как будто я «перегружаю» импортируемые мной методы assertEquals
, но похоже, что мой частный нестатический метод скрывает статически импортированные методы. Я также попытался сделать свой метод общедоступным
и статическим
(все перестановки), но безуспешно - мне пришлось его переименовать.
По какой причине он так себя ведет? Я не нашел упоминания об этом в документации.