— Салом, Амиго! Билаабо сенига абстракт класс ва интерфейс ўртасидаги фарқларни айтмоқчи. Улар бир неча.
| Абстракт класс | Интерфейс |
|---|---|
| Меросхўрлик | |
| Абстракт класста фақат битта синфдан ва ҳаммача интерфейсдан мерос ола олади. | Интерфейс синфлардан мерос ола олмайди, лекин ҳаммача интерфейсдан мерос олиши мумкин. |
| Абстракт методлар | |
| Абстракт класс абстракт методларни ўз ичига олиши мумкин. Лекин уларни умуман ўз ичига олмаслиги мумкин. | Ҳаммача статик бўлмаган ва default бўлмаган интерфейс методлари — абстракт — реализацияни ўз ичига олмайди. Интерфейс умуман методларни ўз ичига олмаслиги мумкин. |
| Реализацияга эга методлар | |
| Абстракт класс реализацияга эга методларни ўз ичига олиши мумкин. | Интерфейс умумий методларни ўз ичига олиши мумкин (default methods). |
| Маълумотлар | |
| Ҳеч қандай чекловлар йўқ. | Интерфейс фақат public final static маълумотларни ўз ичига олади. |
| Объект яратиш | |
| Абстракт класс объектини яратиб бўлмайди. | Интерфейс объектини яратиб бўлмайди. |
— Бундай тушунарли. Қисқа ва лўнда.
— Раҳмат, Амиго.
GO TO FULL VERSION