Модификатор abstract помещается перед классами или методами. Для класса это означает, что он не может быть непосредственно создан, но должен быть разделен на подклассы. Для метода это означает, что он не имеет реализации в классе, но должен быть реализован в подклассе. Его нельзя применять к переменным.