Ответ
Непосредственно — нет. Приватный метод (private) доступен только внутри класса, где он объявлен, что является основой инкапсуляции.
Пример корректного вызова внутри класса:
public class Example {
private void privateMethod() {
System.out.println("Private method called");
}
public void publicMethod() {
privateMethod(); // Доступ разрешен
}
}
Обход через рефлексию (не рекомендуется): С помощью Reflection API можно нарушить инкапсуляцию, сделав метод доступным. Это может привести к хрупкости кода, проблемам с безопасностью и обновлениями.
Example obj = new Example();
Method method = Example.class.getDeclaredMethod("privateMethod");
method.setAccessible(true); // Обход проверки доступа
method.invoke(obj);
Вывод: Прямой вызов запрещен. Использование рефлексии возможно, но нарушает принципы ООП и должно применяться с осторожностью (в тестах, фреймворках).