Да, класс, объявленный как абстрактный (abstract), должен иметь хотя бы один абстрактный метод в своем теле. Абстрактные методы - это методы без тела, которые определяются в абстрактном классе, но не реализуются в нем, а оставляются для реализации в его подклассах. Ключевое слово abstract используется для объявления абстрактного класса или абстрактного метода внутри класса. Абстрактный класс может содержать как абстрактные методы, так и неабстрактные методы с реализацией. Но если класс содержит хотя бы один абстрактный метод, он должен быть объявлен как абстрактный класс. Если класс не имеет никаких абстрактных методов, то нет смысла делать его абстрактным. Такой класс можно объявить обычным классом, который позволяет создавать экземпляры объектов и использовать их в коде. Вот пример правильного использования абстрактного класса: abstract class Shape {
protected String color;
public Shape(String color) {
this.color = color;
}
public abstract double area();
}