Video: KAS liidesel võib olla mitteabstraktseid meetodeid?
2024 Autor: Lynn Donovan | [email protected]. Viimati modifitseeritud: 2023-12-15 23:45
Liidese meetodid on definitsiooni järgi avalikud ja abstraktne , nii et sa ei saa ei ole - abstraktsed meetodid sinus liides . Javas liidese meetodid on avalikud ja abstraktne vaikimisi. Nii et esimene variant on halb tava. Point on selles, et sina saab ära kasuta mitte - abstraktsed meetodid sees liides , sest nad on abstraktne vaikimisi.
Pealegi, kas liidesel võib olla abstraktseid meetodeid?
An liides on nagu "puhtalt" abstraktne klass. Klass ja kõik see meetodid on abstraktne . An abstraktne klass võib olla rakendatud meetodid kuid klassi ennast ei saa instantseerida (kasulik pärimisel ja DRY järel). Kui rakendate Liides siis peate rakendama meetodid aastal liides.
Samuti kas abstraktsel klassil võib olla mitteabstraktseid meetodeid? jah, meie võib olla an abstraktne klass ilma Abstraktsed meetodid kuna mõlemad on iseseisvad mõisted. Kuulutades a klassi abstraktne tähendab, et see saab ei tohi esineda iseseisvalt ja saab ainult alamklassidesse. Kuulutades a meetod abstraktne tähendab seda Meetod on olema määratletud alamklassis.
Lisaks, kas me saame liideses meetodeid määratleda?
Nagu klass, an liides saab on meetodid ja muutujad, kuid meetodid aastal deklareeritud liides on vaikimisi abstraktsed (ainult meetod allkiri, keha puudub). Liidesed määrake, mida klass peab teha ja mitte kuidas. Kui klass seda rakendab liides , siis see saab kasutada kollektsiooni sorteerimiseks.
Kas kõik liidese meetodid peavad olema rakendatud?
Jah, see on kohustuslik kõik ellu viia a meetodid klassis, mis rakendab an liides välja arvatud juhul, kui see klass on abstraktne klass. Sina on kaks valikut: - rakendama iga meetod poolt nõutud liides või – kuulutada teadmata kadunuks meetodid abstraktne oma klassis.
Soovitan:
Kas abstraktsel klassil võib olla konstruktorit?
Jah, abstraktsel klassil võib olla Java-konstruktor. Võite abstraktse klassi konstruktori selgesõnaliselt anda või kui te seda ei tee, lisab kompilaator abstraktse klassi argumendita vaikekonstruktori. See kehtib kõigi klasside kohta ja see kehtib ka abstraktse klassi kohta
Kas Java abstraktsel klassil võib olla konstruktorit?
Jah, abstraktsel klassil võib olla Java-konstruktor. Võite abstraktse klassi konstruktori selgesõnaliselt anda või kui te seda ei tee, lisab kompilaator abstraktse klassi argumendita vaikekonstruktori. See kehtib kõigi klasside kohta ja see kehtib ka abstraktse klassi kohta
Kas abstraktsel klassil võib olla juurdepääsu muutjaid?
Abstraktset klassi sisaldav Java klass tuleb deklareerida abstraktse klassina. Abstraktne meetod saab määrata ainult nähtavuse muutja, kas avaliku või kaitstud. See tähendab, et abstraktne meetod ei saa lisada deklaratsioonile staatilist või lõplikku muutjat
Kas liidesemeetoditel võib olla Java parameetreid?
Java liides sarnaneb natuke Java klassiga, välja arvatud see, et Java liides võib sisaldada ainult meetodi allkirju ja välju. Java liides ei ole mõeldud sisaldama meetodite rakendusi, vaid ainult meetodi allkirja (nimi, parameetrid ja erandid)
Kas abstraktsel klassil võib olla mitteabstraktseid meetodeid?
Jah, meil võib olla abstraktne klass ilma abstraktsete meetoditeta, kuna mõlemad on iseseisvad mõisted. Klassi abstraktseks kuulutamine tähendab, et seda ei saa iseseisvalt instantseerida ja seda saab liigitada ainult alamklassidesse. Meetodi abstraktseks kuulutamine tähendab, et alamklassis määratletakse meetod