2014-12-04 3 views
2

Есть сомнения:Может ли класс быть абстрактным и конкретным одновременно в java?

Может ли класс быть абстрактным и конкретным одновременно в java? т. е. если в абстрактном классе нет абстрактных методов, то можно ли это назвать конкретным классом. Можно также сказать, что любой класс, не имеющий абстрактного метода, можно назвать конкретным классом?

+1

Аннотация и конкретные антонимы, поэтому им никогда не должно быть одинаковых –

+2

Короткий ответ: нет. Даже если абстрактный класс не имеет абстрактных методов, он не может быть создан. Это главное отличие. –

ответ

5

Основное отличие заключается в the documentation, где говорится:

Абстрактный класс является классом, который объявляется абстрактным, оно может или не может включать в себя абстрактные методы. Абстрактные классы не могут быть созданы, но они могут быть подклассами.

Мгновенное действие является ключевым здесь.

+0

Но мое сомнение касается того, можно ли назвать абстрактный класс без абстрактных методов конкретным классом? – Singularity

+2

Невозможно создать экземпляр класса Аннотация, поэтому не является конкретным – gtgaxiola

+0

@ user2580086 Нет, абстрактный класс без абстрактных методов не является конкретным классом. – Jesper

3

Ответы «нет» и «нет». Абстрактные классы - это те, которые были объявлены с ключевым словом abstract, независимо от того, содержат ли они абстрактные методы. Не абстрактному классу не разрешается содержать абстрактные методы.

Смежные вопросы