AR AR sąsajoje gali būti neabstrakčių metodų?
AR AR sąsajoje gali būti neabstrakčių metodų?

Video: AR AR sąsajoje gali būti neabstrakčių metodų?

Video: AR AR sąsajoje gali būti neabstrakčių metodų?
Video: Java Interview Questions #56 - Can an abstract class have both abstract and non-abstract methods? 2024, Gegužė
Anonim

Sąsajos metodai pagal apibrėžimą yra vieši ir abstrakčiai , todėl negalite neturi - abstraktūs metodai tavo sąsaja . Java, sąsajos metodai yra vieši ir abstrakčiai pagal nutylėjimą. Taigi pirmasis variantas yra bloga praktika. Esmė ta, kad tu gali nenaudoti ne - abstraktūs metodai viduje sąsaja , nes jie yra abstrakčiai pagal nutylėjimą.

Be to, ar sąsaja gali turėti abstrakčių metodų?

An sąsaja yra kaip "grynai" abstrakčiai klasė. Klasė ir viskas metodus yra abstrakčiai . An abstrakčiai klasė gali turėti įgyvendinta metodus bet pati klasė negali būti kartojama (naudinga paveldėjimui ir po DRY). Jei įgyvendinsite Sąsaja tada jūs turite įgyvendinti metodus viduje konors sąsaja.

Be to, ar abstrakčioje klasėje gali būti neabstrakčių metodų? taip mes gali turėti an abstrakti klasė be Abstraktūs metodai nes abi yra nepriklausomos sąvokos. Skelbdamas a klasės santrauka reiškia, kad tai gali negali būti savaime vaizduojamas ir gali tik subklasifikuoti. Skelbdamas a metodas abstraktus reiškia kad Metodas bus būti apibrėžtas poklasyje.

Be to, ar galime apibrėžti metodus sąsajoje?

Kaip klasė, an sąsaja gali turėti metodus ir kintamieji, bet metodus paskelbė an sąsaja pagal numatytuosius nustatymus yra abstraktūs (tik metodas parašas, be kūno). Sąsajos nurodykite, ką turi klasė daryti o ne kaip. Jei klasė tai įgyvendina sąsaja , tada tai gali naudoti rūšiuojant kolekciją.

Ar visi sąsajos metodai turi būti įgyvendinti?

Taip, tai privaloma įgyvendinti viską į metodus klasėje, kuri įgyvendina an sąsaja nebent ir kol ta klasė yra abstrakčioji klasė. Tu turėti du pasirinkimai: - įgyvendinti kas metodas reikalaujama pagal sąsaja arba – paskelbti dingusiuoju metodus abstrakčiai jūsų klasėje.

Rekomenduojamas: