Может ли абстрактный класс Java иметь конструктор?
Может ли абстрактный класс Java иметь конструктор?

Видео: Может ли абстрактный класс Java иметь конструктор?

Видео: Может ли абстрактный класс Java иметь конструктор?
Видео: Java Абстрактный класс VS Интерфейс 2024, Ноябрь
Anonim

Да, абстрактный класс может иметь а конструктор в Джава . Ты жестяная банка либо явно указать конструктор к абстрактный класс или, если вы этого не сделаете, компилятор буду добавить по умолчанию конструктор без аргументов в абстрактный класс . Это верно для всех классы и это также относится к абстрактный класс.

Следовательно, может ли конструктор быть абстрактным в Java?

Ты жестяная банка нет абстрактный конструктор , в качестве Аннотация означает, что вам нужно предоставить реализацию для этого в какой-то момент в вашем подклассе. Но вы не можете отменить конструктор . Там буду нет смысла иметь абстрактный конструктор : Ты буду всегда звони конструктор дочернего класса, а не базового класса.

Точно так же как вызвать конструктор абстрактного класса? Вы можете определить конструктор в абстрактный класс , но вы не можете построить этот объект. Однако бетонные суб- классы может (и должен) вызов один из конструкторы определены в Аннотация родитель класс . Ты не можешь вызов ан конструктор абстрактного класса с класс выражение создания экземпляра, т.е.

Точно так же люди спрашивают, почему у абстрактного класса есть конструктор?

А конструктор в Java фактически не «строит» объект, а используется для инициализации полей. Представьте, что ваш абстрактный класс имеет поля x и y, и вы всегда хотите, чтобы они инициализировались определенным образом, независимо от того, какой конкретный подкласс в конечном итоге создается.

Может ли абстрактный класс иметь объекты в Java?

Потому что это Аннотация и объект конкретно. Нет, конструкторы не предусмотрели способа. Потому что абстрактный класс неполный класс (неполный в том смысле, что он содержит Аннотация методы без тела и вывода) мы не можем создать экземпляр или объект ; так же, как вы говорите об интерфейсе.

Рекомендуемые: