2012-02-29 24 views
6

Qui è l'intero codice sorgente:Cosa significano parentesi graffe/parentesi graffe vuote in Java?

http://zerioh.tripod.com/ressources/sockets.html

Ecco il codice che voglio sottolineare:

Provider(){} 

Che cosa significa questa linea? Grazie.

+2

+1 - Ottima domanda! Ovviamente è piuttosto semplice, ma è stimolante e mette in evidenza come i modificatori del livello di accesso possano essere utilizzati per limitare l'accesso e chiarire lo scopo di una classe. Mi sento come se molte persone trascurassero queste cose e non vedessero come possono comunicare qualcosa del tipo "Questa classe è usata solo in questo pacchetto e da nessun'altra parte". – jmort253

risposta

4

Significa che non c'è niente da eseguire in questo Costruttore. Di solito Java lo fornisce per impostazione predefinita in modo da scrivere in basso Provider() {} non è necessario.

La differenza principale tra questa e quella fornita dal compilatore di default è che l'accesso è limitato poiché non è pubblico.

+1

Questo non è in realtà lo stesso di come crea il costruttore java. Credo che il costruttore creato automaticamente abbia visibilità pubblica. Questo ha visibilità di default. –

+0

il mio male. Modificherò il post. Grazie. – javaCity

+0

@javaCity - Modificato la risposta per renderlo più corretto. :) +1 – jmort253

1

È un costruttore con accessibilità predefinita.

1

Il costruttore no-arg viene semplicemente definito anziché essere non dichiarato. Tuttavia, poiché il modificatore del livello di accesso "pubblico" è stato escluso, ciò significa che il costruttore no-arg viene definito utilizzando il pacchetto predefinito.

Ciò significa che qualsiasi classe esterna al pacchetto non sarà in grado di creare un'istanza. Solo le classi all'interno del pacchetto possono creare un'istanza della classe Provider.

0

È default constructor che non fa nulla.

Un oggetto di questa classe può essere creato con la confezione.

Problemi correlati