1
00:00:01,210 --> 00:00:03,560
Ciao, questo è deciso a.

2
00:00:03,630 --> 00:00:07,490
Ora esaminiamo le classi membro statiche che sono anche molto utili.

3
00:00:07,720 --> 00:00:11,230
Sintatticamente sono simili alle classi membro non statiche.

4
00:00:11,290 --> 00:00:16,140
L'unica differenza sarebbe l'aggiunta del modificatore statico nella dichiarazione della classe.

5
00:00:16,150 --> 00:00:20,600
Tuttavia entrambi sono molto diversi gli uni dagli altri mentre le persone imparano.

6
00:00:20,870 --> 00:00:25,960
Possiamo esaminare diversi casi d'uso o classi di membri statici e estenderemo la nostra

7
00:00:25,960 --> 00:00:28,500
demo per questo in questa lezione.

8
00:00:28,520 --> 00:00:33,690
Ecco la voce 22 di Java attivo che dice che il processo gratuito inizierà il processo membro.

9
00:00:33,740 --> 00:00:35,230
Non statico.

10
00:00:35,330 --> 00:00:39,810
Ora non prendiamo in considerazione il fatto che le classi membro non statiche siano meno importanti.

11
00:00:40,220 --> 00:00:44,010
Come abbiamo visto in precedenza sono utili per la definizione degli adattatori.

12
00:00:44,120 --> 00:00:50,160
Solo quando non sono richieste classi membro non statiche, è necessario preferire classi membro statiche.

13
00:00:51,540 --> 00:00:54,700
Ed ecco la ragione che è legata alla performance.

14
00:00:54,750 --> 00:01:00,660
Se non ha bisogno di accedere all'appartenenza e all'oggetto dei percorsi incrociati, allora dovremmo andare con

15
00:01:00,660 --> 00:01:02,590
le classi membro statiche.

16
00:01:02,620 --> 00:01:07,920
Ciò significherebbe che non dobbiamo costruire un riferimento nascosto all'oggetto che lo racchiude.

17
00:01:07,960 --> 00:01:12,280
Ovviamente Mitford ci fa risparmiare tempo nello spazio, ma una domanda non statica.

18
00:01:12,300 --> 00:01:17,920
Abbiamo bisogno di costruire un riferimento nascosto all'oggetto che racchiude tra lo spazio e il

19
00:01:17,980 --> 00:01:26,460
tempo del pickup che ci consentirebbe di accedere all'oggetto che racchiude l'oggetto che lo accompagna. Un processo membro statico è semplicemente un

20
00:01:26,550 --> 00:01:31,870
membro tattico del bus che lo racchiude e significa che è possibile accedervi.

21
00:01:31,980 --> 00:01:37,830
Ma avere un'istanza della classe che chiude, proprio come nel caso di noi, per gli artisti che hanno

22
00:01:37,870 --> 00:01:40,940
bisogno di argomenti, praticare la madre per esempio.

23
00:01:40,960 --> 00:01:45,850
Ecco come è possibile accedere qui a un campo statico in una classe membro statica.

24
00:01:45,850 --> 00:01:53,280
Più vecchio è il nome della classe esterna dignus è il nome di una classe membro statica all'interno dell'accesso

25
00:01:53,430 --> 00:01:56,290
esterno in alcuni in base alla classe.

26
00:01:56,320 --> 00:02:04,200
Statico Meskin è quindi una classe membro statica, proprio come il b b accede al metodo statico

27
00:02:04,490 --> 00:02:07,440
ATA a variabile statica o me.

28
00:02:07,570 --> 00:02:11,620
Ed ecco come è possibile creare un'istanza di master class statico.

29
00:02:11,770 --> 00:02:17,590
Non hanno bisogno di un'istanza della classe esterna per creare un'istanza del processo membro statico.

30
00:02:17,650 --> 00:02:21,110
Se ricordi di aver creato un'istanza di capo membro non statico.

31
00:02:21,150 --> 00:02:28,640
Abbiamo bisogno di un oggetto off hit e la classe di chiusura su dalla classe membro statica iniziata.

32
00:02:28,690 --> 00:02:32,620
Accedere solo ai membri statici della classe che li include.

33
00:02:32,680 --> 00:02:39,490
Questo perché è un membro statico come un metodo statico e quindi non può accedere a

34
00:02:39,490 --> 00:02:42,690
qualsiasi materiale relativo all'istanza nella classe esterna.

35
00:02:42,820 --> 00:02:49,640
Puoi pensare a una classe membro statica solo come una classe ordinaria, ma dichiarata all'interno e al buio.

36
00:02:49,860 --> 00:02:54,850
Quindi, come una normale classe, può includere sia statici che membri dell'ultima istanza.

37
00:02:54,960 --> 00:03:01,340
Può anche avere membri di istanze in quanto può essere istanziato senza l'aiuto dell'oggetto di classe che lo contiene.

38
00:03:01,870 --> 00:03:04,110
Ma tieni presente che il ragazzo può come.

39
00:03:04,120 --> 00:03:09,410
I membri di istanza non possono accedere ai membri di istanza della classe che li include.

40
00:03:09,640 --> 00:03:14,430
Giusto perché è un membro statico come un luogo normale.

41
00:03:14,460 --> 00:03:22,100
Puoi anche renderlo non didattico usando un costruttore privato un'altra parte interessante

42
00:03:22,100 --> 00:03:24,660
che usano per rappresentare.

43
00:03:24,760 --> 00:03:33,130
Ma leggo componenti di oggetti che non si chiudono, la seconda ipotesi sarebbe quella di rappresentare le strategie su terzi

44
00:03:33,130 --> 00:03:35,620
come finalità di sanità pubblica.

45
00:03:35,700 --> 00:03:43,190
Diamo un'occhiata a ciascuna delle diapositive mediche della nostra lezione introduttiva sulle masterclass.

46
00:03:43,290 --> 00:03:50,340
Si tratta di più ginga e metodo Cresap su un'istanza di mappa hash e conta davvero, quindi impostare

47
00:03:50,370 --> 00:03:57,270
tutti i mapping delle coppie di valori chiave come e creare istanze su ciascuna istanza è rappresentata dalla

48
00:03:57,270 --> 00:04:03,760
classe nidificata del nodo in cui ogni coppia di valori chiave è memorizzata in un caso.

49
00:04:04,090 --> 00:04:12,540
Pertanto, l'oggetto incluso utilizza istanze note per archiviare i suoi dati di base ma non è un istante da solo, non ha

50
00:04:12,660 --> 00:04:16,580
bisogno di accedere a nessuno dei dati nell'oggetto incluso.

51
00:04:17,070 --> 00:04:24,270
Quindi è definito come un Robertus statico se è definito come una classe membro non statica, quindi

52
00:04:24,270 --> 00:04:26,480
quello sarebbe il costo aggiuntivo.

53
00:04:26,600 --> 00:04:29,310
Quindi il principio che racchiude l'oggetto di classe.

54
00:04:29,490 --> 00:04:35,880
Sebbene non stiamo usando nessuno dei suoi membri, possiamo evitarlo usando una classe membro statica.

55
00:04:36,000 --> 00:04:41,730
Questo è il primo caso d'uso in cui viene utilizzata una classe membro statica per archiviare i membri privati di

56
00:04:41,810 --> 00:04:42,880
un oggetto racchiuso.

57
00:04:43,840 --> 00:04:45,620
Per il restante Bielski insistono.

58
00:04:45,840 --> 00:04:48,750
Andiamo al nostro editore e li vediamo in azione.

59
00:04:51,110 --> 00:04:51,370
OK.

60
00:04:51,380 --> 00:04:55,580
Prima di esaminare gli ultimi due casi d'uso, volevo solo mostrarlo di nuovo.

61
00:04:55,610 --> 00:05:01,490
Quindi questa è una classe di hash matematica e nella classe hatchback abbiamo la non classe

62
00:05:01,820 --> 00:05:07,430
che implementa l'interfaccia di ingresso nell'interfaccia della mappa e memorizza i dati più basilari.

63
00:05:07,460 --> 00:05:10,610
Questa è la coppia di valori chiave e viene dichiarata come statica.

64
00:05:10,630 --> 00:05:11,060
OK.

65
00:05:11,180 --> 00:05:16,590
Ora era stato dichiarato non statico, il che significa che il telecomando Lo avrebbe avviato.

66
00:05:16,700 --> 00:05:22,290
Nel qual caso sarebbe una classe membro di partenza e includerebbe inutilmente un hit in

67
00:05:22,310 --> 00:05:26,140
francese per l'oggetto lordo che è l'installazione di hash map.

68
00:05:26,330 --> 00:05:32,470
OK, quindi non è necessario affatto perché non abbiamo bisogno di alcun accesso all'appartenenza all'istanza della mappa hash.

69
00:05:32,630 --> 00:05:33,160
Destra.

70
00:05:33,200 --> 00:05:39,190
Quindi questo memorizza solo i dati più basilari che sono la chiave e il valore di ogni istanza di voce.

71
00:05:39,470 --> 00:05:46,160
Quindi questo dovrebbe essere dichiarato come membro membro statico come menzionato nell'elemento.

72
00:05:46,250 --> 00:05:48,100
In questo modo possiamo usare lo spazio.

73
00:05:48,170 --> 00:05:54,890
Ora torniamo alla nostra classe di cassa e ai segnalibri e diamo un'occhiata alla seconda ipotesi sull'uso di

74
00:05:55,160 --> 00:05:57,870
una classe membro statica come strategia.

75
00:05:57,880 --> 00:06:01,350
Ora inserisci tutte le classi anonime.

76
00:06:01,490 --> 00:06:08,910
Come invocare questo tipo di indirizzo per ordinare l'ordinamento degli articoli in contanti e gli articoli

77
00:06:08,930 --> 00:06:09,930
in contanti.

78
00:06:09,970 --> 00:06:12,440
E definiamo una classe anonima qui.

79
00:06:12,530 --> 00:06:19,310
Quindi abbiamo implementato un concorrente e lo abbiamo fatto e siamo stati abbattuti usando la valutazione.

80
00:06:19,490 --> 00:06:25,710
In questo momento abbiamo anche detto che se questo dovesse succedere se questa affermazione dovesse

81
00:06:25,880 --> 00:06:34,410
essere ripetutamente ripetuta, allora possiamo definire questo particolare oggetto anonimo in questa tassa statica come un singleton come un singleton

82
00:06:34,400 --> 00:06:39,970
e B ha detto che può essere una quantità privata di Stockley.

83
00:06:40,040 --> 00:06:41,380
E questa era una delle cose.

84
00:06:41,720 --> 00:06:47,940
Ma a volte potremmo voler implementare più classi di più tipi.

85
00:06:48,230 --> 00:06:53,300
In questo caso utilizzando una classe anonima B può essere implementata solo questa interfaccia concorrente.

86
00:06:53,540 --> 00:07:00,770
Ma se vogliamo implementare più tipi multipli usando l'uso di una classe nidificata, possiamo usare un bus di

87
00:07:00,770 --> 00:07:04,570
memoria statico e avviare e sopra esso deve passare.

88
00:07:04,730 --> 00:07:09,860
Ora ad esempio questa particolare logica questa da questa funzionalità.

89
00:07:09,860 --> 00:07:10,890
Ora è dentro

90
00:07:10,900 --> 00:07:17,600
Accidenti ma il segnalibro può anche essere fornito qui nella classe dei segnalibri come servizio per ogni

91
00:07:17,690 --> 00:07:18,250
classe.

92
00:07:18,430 --> 00:07:18,800
OK.

93
00:07:18,830 --> 00:07:25,570
Quindi il segnalibro è una classe e io sono il proprietario del libro che la mia classe sta diventando un servizio.

94
00:07:25,760 --> 00:07:32,630
Quindi questa intera cosa può essere definita come un singolo pulsante fatto, ma se vogliamo che

95
00:07:32,630 --> 00:07:40,220
un libro Marquard serializzato esca come un'istanza di un segnalibro, allora qualsiasi oggetto che viene creato qui dovrebbe

96
00:07:40,280 --> 00:07:41,780
implementare anche serializzabile.

97
00:07:41,900 --> 00:07:49,510
Quindi sarebbe limitativo Serializable ma qualsiasi oggetto che Mark definisce all'interno di ogni classe dovrebbe

98
00:07:49,670 --> 00:07:51,000
essere serializzabile.

99
00:07:51,010 --> 00:07:53,820
Altrimenti la proprietà Serializable direbbe.

100
00:07:54,030 --> 00:07:54,230
Destra.

101
00:07:54,230 --> 00:07:56,820
Puoi ricordarlo dal nostro capitolo.

102
00:07:56,930 --> 00:08:03,140
Quindi hai bisogno di una classe astratta in grado di implementare entrambi i concorrenti come serializzabili.

103
00:08:03,290 --> 00:08:09,300
OK e non possiamo farlo usando una classe anonima perché può implementare solo un particolare tipo.

104
00:08:09,590 --> 00:08:14,140
Quindi andiamo avanti e definiamo questo come un servizio all'interno del libro.

105
00:08:14,290 --> 00:08:19,880
Quindi il segnalibro o il segnalibro sta fornendo un'implementazione del servizio di Lombardo,

106
00:08:19,880 --> 00:08:26,400
ma implementerà anche un'interfaccia serializzabile in modo da poter utilizzare un prodotto di classe membro statico.

107
00:08:26,660 --> 00:08:30,130
Quindi definiamo veramente un inizio pubblico in declino gratis.

108
00:08:30,210 --> 00:08:31,950
OK quindi andiamo avanti e farlo.

109
00:08:34,710 --> 00:08:36,660
Quindi restituirei un concorrente chiamiamolo

110
00:08:39,490 --> 00:08:40,590
come rating

111
00:08:44,890 --> 00:08:52,450
sul concorrente in scala e definiamolo, ma vorrei impilare un grande bicchiere con il quale ha iniziato Mr.

112
00:08:52,450 --> 00:09:02,170
Glass chiamiamolo come un saluto concorrente.

113
00:09:02,200 --> 00:09:11,050
Ora questo tipo e blu attua concorrente e anche serializzabile.

114
00:09:11,180 --> 00:09:17,580
OK, questa è una master class statica e tutto ciò che possiamo fare è semplicemente copiare qui questa logica.

115
00:09:17,930 --> 00:09:21,850
Sono solo una classe anonima.

116
00:09:22,220 --> 00:09:28,860
Quindi questa classe membro statica implementa il concorrente sui pettegolezzi di Hensick o dove la loro definizione viene permessa.

117
00:09:29,220 --> 00:09:31,160
Ed è anche serializzabile ora.

118
00:09:31,250 --> 00:09:32,220
Bene, indovina un po 'il libro.

119
00:09:32,420 --> 00:09:39,890
Glasgow può anche essere serializzabile perché se questo non è in contrasto con un oggetto innegabile non

120
00:09:39,950 --> 00:09:41,620
può essere serializzato.

121
00:09:41,930 --> 00:09:48,650
E quel grafico oggetto deve essere qualsiasi oggetto nel grafico dell'oggetto o nel segnalibro come la scuola implementa Serializable.

122
00:09:48,770 --> 00:09:52,500
Ogni istanza ha usato il battito ma non serializzabile.

123
00:09:52,970 --> 00:10:00,400
Quindi ora tutto ciò che facciamo è che questa è una classe piuttosto ricca e possiamo esporla come un Whittlesey pubblico statico.

124
00:10:00,510 --> 00:10:01,060
OK.

125
00:10:04,730 --> 00:10:11,500
Quindi il processo statico qui e con loro possiamo incrociare il libro ed è esposto questo grande concorrente

126
00:10:11,540 --> 00:10:12,310
OK gratuito.

127
00:10:12,440 --> 00:10:15,120
Quindi torniamo indietro

128
00:10:25,090 --> 00:10:29,790
e diciamo di stampare l'output ancora una volta.

129
00:10:35,190 --> 00:10:38,570
Quindi vai avanti e gestisci questo.

130
00:10:38,670 --> 00:10:41,340
Quindi stampa questa uscita.

131
00:10:41,340 --> 00:10:45,020
È proprio come l'output dell'annuncio sul muskox.

132
00:10:45,390 --> 00:10:46,250
Quindi è così.

133
00:10:46,270 --> 00:10:55,310
E questo modello è anche usato all'interno del senza stringhe e fornisce anche un membro statico più qui chiamato

134
00:10:55,320 --> 00:10:58,350
concorrente insensibile alle maiuscole e minuscole.

135
00:10:58,460 --> 00:11:05,550
E come puoi vedere implementa rispetto alla fondina e all'interfaccia Serializable ed è un cross

136
00:11:05,630 --> 00:11:09,270
pirata ma lo espone usando pubblico atteso.

137
00:11:09,270 --> 00:11:10,040
Finale gratuito.

138
00:11:10,180 --> 00:11:10,460
OK.

139
00:11:10,460 --> 00:11:12,900
Quindi è esattamente quello che abbiamo appena fatto.

140
00:11:13,190 --> 00:11:13,530
OK.

141
00:11:13,530 --> 00:11:17,980
E questo è per caso l'incentivo ad ordinare all'interno del senza stringhe puoi dare un'occhiata in seguito.

142
00:11:18,230 --> 00:11:20,010
Quindi questo è lo schema che usano.

143
00:11:20,030 --> 00:11:23,810
Quindi è una strategia ma è esposta in questo modo come un servizio.

144
00:11:23,810 --> 00:11:30,550
Ora a volte potremmo anche sapere come potremmo voler esporre più di un concorrente come servizio.

145
00:11:30,680 --> 00:11:30,860
Destra.

146
00:11:30,860 --> 00:11:32,810
In questo caso è solo uno di questi.

147
00:11:32,900 --> 00:11:39,890
Ora diciamo che vogliamo anche fornire un concorrente quale socket basato sulla lunghezza della lunghezza della stringa della

148
00:11:39,890 --> 00:11:40,680
stringa.

149
00:11:40,820 --> 00:11:48,530
Poi abbiamo il secondo concorrente in modo che possiamo raggrupparli per raggruppare questi due concorrenti usando l'utilizzo

150
00:11:48,610 --> 00:11:50,460
come master class.

151
00:11:50,460 --> 00:11:57,500
OK, quindi possiamo farlo su Quited come servizio in modo da poter definire una statica nidificata pubblica.

152
00:11:57,560 --> 00:12:01,650
Questo è privato in modo da poter definire una master class statica pubblica.

153
00:12:01,790 --> 00:12:07,740
E facciamo anche quella scelta di nichelcromo e questa corte qui.

154
00:12:07,850 --> 00:12:12,820
Quindi questo sarebbe il terzo da usare per indovinare proprio come nei costi della pubblica assistenza.

155
00:12:12,850 --> 00:12:20,080
Quindi potresti fornire a questi concorrenti un servizio come aiuto per il codice cliente.

156
00:12:27,080 --> 00:12:31,750
È quotato rispetto a un elenco perché stiamo fornendo un elenco di concorrenti qui.

157
00:12:32,270 --> 00:12:39,210
Quindi questa è una master class statica pubblica e copia qui questo accordo.

158
00:12:39,640 --> 00:12:43,460
Quindi sarebbe ancora un altro master qui.

159
00:12:43,870 --> 00:12:45,580
E rendiamo pubblico questo e

160
00:12:56,870 --> 00:12:58,280
fammi copiare questo.

161
00:12:58,280 --> 00:13:03,610
Ho il secondo concorrente qui perché, in base agli strangolamenti, è una

162
00:13:09,360 --> 00:13:10,780
lunghezza di corda

163
00:13:17,260 --> 00:13:21,690
che non sappiamo come essere buoni e mantenere questo anche.

164
00:13:21,700 --> 00:13:22,630
Quindi,

165
00:13:27,850 --> 00:13:32,350
dal momento che ora prende nota delle attività di copia,

166
00:13:39,290 --> 00:13:44,950
possiamo solo dire di nuovo a cosa serve questa stringa senza stringhe.

167
00:13:44,980 --> 00:13:46,910
Ma è anche una classe membro statica.

168
00:13:47,230 --> 00:13:50,160
Axel è il concorrente.

169
00:13:50,200 --> 00:13:50,710
Meno

170
00:13:55,460 --> 00:13:58,770
non sono tutti quelli che fanno uso di questa stringa rispetto al concorrente.

171
00:13:58,820 --> 00:13:59,040
OK.

172
00:13:59,080 --> 00:14:02,100
Stiamo solo usando la lista dei concorrenti, ma questo.

173
00:14:02,470 --> 00:14:06,670
Quindi, come puoi vedere, non stiamo creando un'istanza dell'oggetto giusto.

174
00:14:06,670 --> 00:14:13,070
Abbiamo detto che è possibile che la classe membro statica non abbia bisogno di un'istanza tutta Ultravox.

175
00:14:13,270 --> 00:14:14,850
Quindi questo è quello che abbiamo fatto.

176
00:14:14,880 --> 00:14:17,580
Lasciatemi andare avanti ed eseguirlo.

177
00:14:17,600 --> 00:14:18,220
Ecco qui.

178
00:14:18,220 --> 00:14:24,490
Quindi questo è l'ultimo concorrente che classifica il mio concorrente finale come si può vedere questo è un ordine S &amp;

179
00:14:24,530 --> 00:14:31,450
M della stringa che anche quello precedente era anche un membro statico, ma era il mio voto e abbiamo usato la finale statica

180
00:14:31,660 --> 00:14:33,510
prima di quella con noi.

181
00:14:33,730 --> 00:14:41,470
Qui ne abbiamo una dozzina come una croce pubblica di Calbert e clan di clan possono fare uso di questo indefinito più di

182
00:14:41,740 --> 00:14:43,080
un concorrente qui.

183
00:14:43,090 --> 00:14:45,580
Quindi puoi andare avanti e trovare più concorrenti.

184
00:14:45,880 --> 00:14:47,820
Quindi questo è uno dei 30 Whiskas.

185
00:14:48,070 --> 00:14:49,380
Quindi questo è tutto.

186
00:14:49,450 --> 00:14:53,860
E questa guardia è disponibile in questa tattica nella sezione delle risorse.

187
00:14:53,980 --> 00:14:59,650
E quindi questa è una classe membro statica e se non abbiamo bisogno dell'accesso di Non's all'oggetto che lo racchiude,

188
00:14:59,650 --> 00:15:01,550
dovremmo usare una classe membro statica.

189
00:15:01,780 --> 00:15:08,680
Quindi potrebbe essere potrebbe essere più efficiente in quanto non dobbiamo creare un'offerta finale per l'oggetto incluso.

190
00:15:08,680 --> 00:15:10,650
E così era il tempo e lo spazio.

191
00:15:11,110 --> 00:15:12,770
Grazie e felice Cody.
