Kas konstruktorid peaksid olema avalikud Java?

Kas konstruktorid peaksid olema avalikud Java?
Kas konstruktorid peaksid olema avalikud Java?
Anonim

Ei, konstruktorid võivad olla avalikud, privaatsed, kaitstud või vaikimisi (juurdepääsu muutja puudub). Millegi privaatseks muutmine ei tähenda, et keegi sellele juurde ei pääseks. See tähendab lihts alt, et keegi väljaspool klassi ei pääse sellele juurde. Nii et erakonstruktor on samuti kasulik.

Kas konstruktorid saavad Javas olla privaatsed?

Java privaatkonstruktorit kasutatakse objektide loomise piiramiseks. See on spetsiaalne eksemplari konstruktor, mida kasutatakse staatilistes ainult liikmetele mõeldud klassides. Kui konstruktor on deklareeritud privaatseks, siis selle objektid on ligipääsetavad ainult deklareeritud klassist. Te ei pääse selle objektidele juurde väljaspool konstruktoriklassi.

Kas vaikekonstruktorid on privaatsed või avalikud?

C++ puhul kutsutakse klassi objekti loomisel automaatselt konstruktor välja. Vaikimisi on konstruktorid määratletud klassiavalikus jaotises.

Miks me üldiselt kuulutame konstruktori Javas avalikuks liikmeks?

Avalik konstruktor tähendab ka sellele saab juurde pääseda väljaspool klassi. Teine klass saab need ka lihts alt hankida, kuid kui teeme konstruktori privaatseks, pole see juurdepääsetav väljaspool klassi. Samuti muudame konstruktori konstruktori avalikuks, et initsialiseerida klass mis tahes kohas programmis.

Kuidas ma saan oma konstruktori avalikuks teha?

Muutke konstruktor avalikuks, kui lubate oma kliendi koodil väljaspool paketti oma objekti eksemplari luua. Kui sa seda ei teetahan seda (kuna objekt on paketispetsiifiline või objekti ennast ei saa otse instantseerida) kasuta paketti privaatne.

Soovitan: