[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-core-gde-i-dlya-chego-ispolzuetsya-modifikator-abstract":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":19,"progress":20,"seo":21},21,"gde-i-dlya-chego-ispolzuetsya-modifikator-abstract",2,"java-core","Java Core","☕","Где и для чего используется модификатор `abstract`?","**Абстрактный класс** — это класс, помеченный модификатором `abstract`, который не может быть инстанцирован напрямую и предназначен для наследования.\n\n### Абстрактный класс\n\nАбстрактные классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.\n\nАбстрактный класс может содержать:\n+ **Конструкторы** — они вызываются из конструкторов подклассов через `super()`;\n+ **Поля с состоянием** (как `static`, так и экземплярные);\n+ Обычные (неабстрактные) методы с реализацией;\n+ Абстрактные методы без реализации.\n\n### Абстрактный метод\n\nМетод, помеченный ключевым словом `abstract` — **абстрактный метод**, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.\n\n### Ключевой вывод\n\nИспользование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.","","junior",[15,16,17,18],"абстрактный-класс","core","oop","abstract",[],null,{"title":22,"description":23,"ogTitle":24,"ogDescription":25,"keywords":26,"schemaAnswer":31,"featuredSnippetReady":32},"Модификатор abstract в Java — классы и методы — Gymterview","Abstract класс — нельзя создать экземпляр, используется как предок. Abstract метод — без реализации, обязывает наследника реализовать.","abstract в Java — абстрактные классы и методы","Abstract класс нельзя инстанцировать, но он может иметь конструкторы и поля. Abstract метод не имеет тела — реализация в наследниках.",[27,28,29,30],"abstract Java","абстрактный класс Java","абстрактный метод","модификатор abstract","Модификатор abstract применяется к классам и методам. Абстрактный класс не может быть инстанцирован, выступает только предком для других классов. Абстрактный метод не имеет реализации — если в классе есть хотя бы один абстрактный метод, весь класс должен быть абстрактным.",true]