Нет, мы не можем объявлять абстрактные методы закрытыми (private) в Java. Абстрактный метод должен быть доступен для переопределения в подклассах, и поэтому его модификатор доступа не может быть private. Модификатор доступа private ограничивает доступ к членам класса только внутри этого класса, и он не может быть использован для наследуемых членов. Поэтому, если мы объявляем абстрактный метод как private, то он не будет доступен для переопределения в подклассах, что противоречит смыслу абстрактных методов. Абстрактные методы могут иметь только модификаторы доступа public или protected. Модификатор доступа public делает абстрактный метод доступным для всех классов и подклассов, а модификатор доступа protected делает его доступным только для подклассов и других классов в том же пакете. Вот пример кода, который вызовет ошибку компиляции при объявлении абстрактного метода как private: abstract class MyClass {
private abstract void myMethod(); // Ошибка компиляции } Здесь мы пытаемся