Ar konstruktoriai turėtų būti vieša Java?

Turinys:

Ar konstruktoriai turėtų būti vieša Java?
Ar konstruktoriai turėtų būti vieša Java?
Anonim

Ne, konstruktoriai gali būti vieši, privatūs, apsaugoti arba numatytieji (jokio prieigos modifikatoriaus). Jei ką nors padarysite privačiu, tai nereiškia, kad niekas negali to pasiekti. Tai tiesiog reiškia, kad niekas iš klasės negali prieiti prie jo. Taigi privatus konstruktorius taip pat naudingas.

Ar „Java“konstruktoriai gali būti privatūs?

Privatus „Java“konstruktorius naudojamas objektų kūrimui apriboti. Tai specialus egzempliorių konstruktorius, naudojamas tik statinėse klasėse. Jei konstruktorius paskelbtas kaip privatus, tada jo objektai pasiekiami tik iš deklaruotos klasės. Negalite pasiekti jo objektų ne konstruktorių klasėje.

Ar numatytieji konstruktoriai yra privatūs ar vieši?

C++ kalboje konstruktorius automatiškai iškviečiamas, kai sukuriamas klasės objektas. Pagal numatytuosius nustatymus konstruktoriai yra apibrėžti viešoje klasės skiltyje.

Kodėl konstruktorių paprastai skelbiame viešuoju „Java“nariu?

Viešasis konstruktorius taip pat reiškia jis gali būti pasiekiamas už klasės ribų. Kita klasė taip pat gali juos gauti paprastai, tačiau jei konstruktorių padarysime kaip privatų, jis nepasiekiamas už klasės ribų. Taip pat konstruktorių padarome viešu konstruktoriumi, kad inicijuotų klasę bet kurioje programos vietoje.

Kaip padaryti, kad mano konstruktorius būtų viešas?

Padarykite konstruktorių viešą, jei leidžiate kliento kodui už paketo ribų sukurti objekto egzempliorius. Jei nenoriu to (nes objektas yra specifinis paketas arba pats objektas negali būti tiesiogiai pavaizduotas) naudokite paketą-private.

Rekomenduojamas: