1
00:00:07,270 --> 00:00:09,580
Ciao, questo è il momento.

2
00:00:09,640 --> 00:00:10,710
E bentornato.

3
00:00:11,080 --> 00:00:18,790
Finora tutte le nostre decorazioni passate sono state di alto livello ma al di sopra delle sue classi annidate

4
00:00:18,790 --> 00:00:24,070
che sono definite in altre classi classi annidate all'interno di altre classi.

5
00:00:24,070 --> 00:00:31,180
In genere la maggior parte dei corsi non dà la priorità a questo argomento e anche se il chiamante ha appena spiegato

6
00:00:31,330 --> 00:00:35,630
la sintassi e non ha spiegato dove sono comunemente utilizzati nella pratica.

7
00:00:35,690 --> 00:00:41,680
Le Master Class hanno sicuramente un certo posto su alcune delle classi del framework delle

8
00:00:41,800 --> 00:00:44,660
collezioni, le usano ampiamente come sempre.

9
00:00:44,710 --> 00:00:51,220
Esamineranno dove vengono in genere utilizzate una classe nidificata come necessario per migliorare il design

10
00:00:51,220 --> 00:00:52,170
delle classi.

11
00:00:52,630 --> 00:00:56,820
Quindi andiamo avanti e guardiamo questa importante caratteristica e perché sono necessari.

12
00:00:58,610 --> 00:01:02,700
Puoi ricordare questo particolare sito dal nostro primo capitolo introduttivo.

13
00:01:02,810 --> 00:01:07,320
Mostra che diversi membri di una classe e classi annidate sono uno di loro.

14
00:01:07,340 --> 00:01:14,230
In effetti possiamo avere un'interfaccia annidata che può essere parte di entrambe le classi e delle interfacce.

15
00:01:14,230 --> 00:01:20,020
Ecco un esempio di una classe rigorosa la classe di livello superiore è denominata come esterna e

16
00:01:20,020 --> 00:01:27,650
contiene al suo interno una classe nidificata che viene chiamata per comprendere la necessità di una classe di asset considerata una mappa hash.

17
00:01:27,650 --> 00:01:35,060
Sappiamo che nella mappa hash ogni coppia di valori chiave è chiamata mappatura e se si richiama

18
00:01:35,440 --> 00:01:43,940
l'implementazione della mappa hash nella mappatura viene indicato come una voce, una voce è in realtà nell'interfaccia nidificata all'interno della mappatura.

19
00:01:43,950 --> 00:01:48,400
Come accennato in precedenza, possiamo anche avere interfacce masterizzate.

20
00:01:48,640 --> 00:01:55,540
In questo diagramma di classe, quindi, la carriera del raccolto all'interno della mappa rappresenta la voce del tipo annidata.

21
00:01:55,600 --> 00:02:01,740
È possibile richiamare l'interfaccia di immissione con metodi come ottenere chiave e ottenere valore.

22
00:02:01,770 --> 00:02:09,410
No, abbiamo anche la classe hash map e se invochiamo il metodo di aumento su un hash Mathman

23
00:02:09,410 --> 00:02:16,190
Spens restituirà un set di tutti i mapping che è impostato su tutte le voci sotto

24
00:02:16,190 --> 00:02:24,270
ogni voce è un'implementazione dell'interfaccia entry non il set è in realtà una classe nidificata chiamata e precentata che implementa

25
00:02:24,270 --> 00:02:31,180
non setta l'interfaccia nothin lo farà, non ha importanza sul set di ritorno, quindi potrebbe essere

26
00:02:31,180 --> 00:02:31,950
implementata.

27
00:02:33,230 --> 00:02:40,110
E quell'implementazione è un'altra classe annidata, ma poi Hashima su di esso viene

28
00:02:40,110 --> 00:02:47,510
chiamata e trattata come e come Chrisette e creare una voce di dati che implementa l'interfaccia.

29
00:02:47,520 --> 00:02:54,360
Ora, anche con il prossimo metodo sull'ordine di creare e restituirebbe un'istanza arrabbiata che è la

30
00:02:54,360 --> 00:03:01,500
successiva mappatura nella mappa di hash e questa istanza di voce è rappresentata dalla classe chiamata nodo che

31
00:03:01,500 --> 00:03:04,520
è ancora un'altra classe che quindi hash.

32
00:03:04,980 --> 00:03:11,490
Quindi questo masterclass nodo implementa la voce in un'interfaccia di avvio all'interno dell'interfaccia della mappa in modo che abbia metodi

33
00:03:11,490 --> 00:03:12,490
come esso.

34
00:03:12,510 --> 00:03:15,260
Ottieni valori impostati per impostare il valore e così via.

35
00:03:16,160 --> 00:03:20,130
Quindi ci sono le classi rigorose di Trina che non hanno una mappa hash non è buona.

36
00:03:20,150 --> 00:03:28,330
Ha anche altre 5 classi annidate, quindi la prossima domanda è perché non possiamo avere tutte queste classi annidate come classi

37
00:03:28,420 --> 00:03:31,910
di primo livello separate all'interno dello stesso pacchetto.

38
00:03:33,220 --> 00:03:41,040
Se lo faremo, vedremo come 8 classi addizionali in quel pacchetto sono e tutte e 8 sono usate solo

39
00:03:41,070 --> 00:03:50,340
da Ashmole che non saranno usate altre classi in soit, ma prenderebbe posizione poiché anche queste classi definite come parte della mappa hash ci

40
00:03:50,370 --> 00:03:56,640
dicono chiaramente che queste classi hanno qualcosa a che fare con la sola mappa hash.

41
00:03:56,970 --> 00:04:03,960
Quindi la funzionalità si avvicina alla classe originale e porterà anche a un design migliore.

42
00:04:03,980 --> 00:04:09,590
È possibile vedere che all'interno della classe della mappa hash queste classi nidificate sono modularizzate e la funzionalità che è VIDOT

43
00:04:10,400 --> 00:04:11,910
è una classe di asset.

44
00:04:12,110 --> 00:04:18,230
I metodi in essi contenuti sarebbero parte dell'estremo cross plus e questo porterebbe all'inquinamento di Methot,

45
00:04:19,060 --> 00:04:25,680
classi così nidificate che forniscono un design più pulito in generale una classe esoterica, fondamentalmente servi della gleba.

46
00:04:25,860 --> 00:04:30,260
E la chiusura delle lezioni allo stesso tempo porta anche a un design migliore.

47
00:04:30,510 --> 00:04:35,020
Vedremo anche in questo capitolo alcuni modi interessanti in cui vengono utilizzati nel mondo reale.

48
00:04:36,650 --> 00:04:41,090
Ecco i diversi tipi di master class classificati e bouquet sgrassati.

49
00:04:41,210 --> 00:04:48,260
Uno è in una classe e l'altro è indicato come un processo membro statico in una classe include classi membro

50
00:04:48,260 --> 00:04:51,800
non statiche e solo le classi e il processo locale.

51
00:04:51,800 --> 00:04:56,130
Discuteremo di tutto ciò su come sono tipicamente usati nel mondo reale.

52
00:04:56,720 --> 00:04:58,870
Le classi locali sono usate molto raramente.

53
00:04:59,060 --> 00:05:05,430
Quindi discuteremo molto brevemente di una distinzione principale tra classi interne e classi di

54
00:05:05,430 --> 00:05:12,960
membri artici: le classi di membri di azioni, come suggerisce il nome, non possono mai accedere all'istanza di

55
00:05:12,980 --> 00:05:20,030
Gruss commerciale e di chiusura nelle loro classi, dall'altra possono accedere all'appartenenza all'istanza e alla chiusura costi.

56
00:05:20,090 --> 00:05:26,750
L'unica eccezione è quando le classi anonime e le clausole locali sono parcheggiate fuori dal

57
00:05:26,750 --> 00:05:34,280
contesto dell'argomento come un metodo statico, nel qual caso non possono accedere ai membri dell'istanza. I browser

58
00:05:34,430 --> 00:05:41,820
membri non statici possono sempre accedere ai membri dell'istanza della classe che racchiude l'intera Allisons. diverse classi

59
00:05:41,820 --> 00:05:42,640
annidate.

60
00:05:42,930 --> 00:05:43,350
Ciao.

61
00:05:43,350 --> 00:05:47,020
Ci sono alcune proprietà comuni a tutto il processo gnostico.

62
00:05:47,060 --> 00:05:48,230
Diamo un'occhiata a loro ora.

63
00:05:48,660 --> 00:05:50,510
Questo riguarda i loghi di accesso.

64
00:05:50,700 --> 00:05:57,450
Le classi annidate possono essere dichiarate con tutti e quattro i livelli di accesso per impostazione predefinita

65
00:05:57,450 --> 00:06:06,630
protetti e pubblici, proprio come qualsiasi membro della classe in cui le classi di livello superiore possono essere solo pubbliche o la proprietà

66
00:06:06,630 --> 00:06:12,320
successiva è che vi è l'accessibilità reciproca dei membri inclusi i membri privati.

67
00:06:12,570 --> 00:06:16,350
Quindi una master class può accedere a qualsiasi membro della nostra classe.

68
00:06:16,490 --> 00:06:24,160
Analogamente, una classe esterna può anche accedere a qualsiasi membro della classe nidificata. Aalto può accedere a qualsiasi

69
00:06:24,160 --> 00:06:30,810
membro di nidificato perché se la classe nidificata non era presente allora tutta quella funzionalità

70
00:06:30,810 --> 00:06:35,100
sarebbe stata parte della classe esterna, infine nessun documento.

71
00:06:35,260 --> 00:06:41,050
Quindi abbiamo una classe annidata all'interno di un'altra classe, quindi il compilatore Java probabilmente userà per classificare questo per la

72
00:06:41,470 --> 00:06:45,140
classe Otar e l'altro per Mr. classe.

73
00:06:45,290 --> 00:06:47,490
Alter sarebbe semplicemente privo di condotti.

74
00:06:47,720 --> 00:06:54,070
Nidificato bene sarebbe generato con il nome esterno della porta e / o dotto annidato esterno nidificato.

75
00:06:54,070 --> 00:07:01,240
Qui ci sono solo nomi di classe fuori classe e Mr. male di classe in caso di classi anonime.

76
00:07:01,350 --> 00:07:08,390
Alter sarebbe ancora alterato vetro scuro mentre una classe anonima sarebbe Otar dollaro un punto.

77
00:07:08,390 --> 00:07:14,100
Quindi se ci sono più classi anonime, allora ci sarebbe un dollaro non classe alterata o

78
00:07:14,190 --> 00:07:16,380
classe oscura e così via.

79
00:07:16,380 --> 00:07:22,080
Ma per le altre tre classi annidate sarebbe il nome di classe esterno Nome di classe nidificato in dollari.

80
00:07:22,260 --> 00:07:28,080
È solo che come vedremo più avanti e in un caso, Garces non ha nomi su valori numerici così

81
00:07:28,080 --> 00:07:28,670
usati.

82
00:07:29,570 --> 00:07:35,510
Quindi questo è tutto e discuteremo tutte le classi annidate di estraneità e, soprattutto,

83
00:07:35,510 --> 00:07:37,900
dove sono più comunemente utilizzati.

84
00:07:37,910 --> 00:07:41,670
Discuteremo anche un paio di importanti effetti dei tempi di luglio.

85
00:07:41,690 --> 00:07:47,030
Consentitemi anche di richiamare rapidamente la classe hash map in modo che possiamo esaminare

86
00:07:47,090 --> 00:07:50,850
alcune delle classi di perfezionamento evidenziate in precedenza OK.

87
00:07:50,860 --> 00:07:59,460
Eccoci nella classe hash map e nella classe hash map se invochiamo le voci

88
00:07:59,470 --> 00:08:00,980
che chiameremmo.

89
00:08:01,010 --> 00:08:06,580
Qui è qui come set di voci e sta creando un'istanza di questo e Chrisette

90
00:08:06,580 --> 00:08:10,830
che è semplicemente una classe annidata della mappa di hash 10.

91
00:08:11,200 --> 00:08:20,440
E Chrisette ha tutti questi metodi e se tu avessi fatto qualcosa sul set allora creerebbe un'istanza di iteratore

92
00:08:20,440 --> 00:08:28,290
di entrata e creeresti più grande è anche un'altra classe annidata all'interno della mappa di hash.

93
00:08:28,330 --> 00:08:36,610
Quindi dice hash map iterator dollaro di immissione e all'interno della voce per leggere un metodo abbiamo questi metodi

94
00:08:36,930 --> 00:08:39,530
INFP invocare il metodo successivo.

95
00:08:39,940 --> 00:08:49,280
Sta invocando una connessione che in realtà restituisce che il nodo non è in realtà una classe membro statica e quindi questo ha

96
00:08:49,280 --> 00:08:53,930
la parola chiave static e quella è una classe di asset.

97
00:08:53,930 --> 00:08:55,910
Ancora una volta all'interno della mappa di hash.

98
00:08:55,970 --> 00:08:59,990
OK, quindi le altre classi non avevano la parola chiave statica.

99
00:09:00,110 --> 00:09:04,510
Quindi ci sono classi membro non statiche e classi membro iniziate.

100
00:09:04,510 --> 00:09:08,130
Come è stata avviata questa chiave e guarderemo tutto ciò più tardi.

101
00:09:08,230 --> 00:09:10,130
OK, volevo solo dimostrarlo.

102
00:09:10,190 --> 00:09:11,960
Quindi parla di masterclass.

103
00:09:11,960 --> 00:09:16,600
Iniziamo con il capitolo dedicato al caricamento di tutte le masterclass.

104
00:09:16,790 --> 00:09:17,140
Grazie.
