Ciao, questo è che non vogliono andare.
Non iniziamo con le classi membro non statiche e le classi membro non statiche utilizzate quando l'oggetto della
classe interna deve accedere all'oggetto che lo contiene in modo che possa accedere ai membri dell'istanza.
Quindi ha qualcosa a che fare con l'istanza di e la classe crescente sotto in un oggetto di classe non può nemmeno essere
creata a meno che non sia già stato creato l'oggetto duck and grossing.
Quindi l'oggetto inclosing viene creato per primo e fatto viene usato per creare in oggetto classe.
E presto vedremo come è fatto.
In una parola Demel nell'oggetto classe è semplicemente un membro di istanza dell'oggetto racchiuso, proprio come qualsiasi membro
di istanza, che non si riferisce alla classe interna come classe membro non statica.
È una classe membro dell'istanza poiché in un oggetto classe deve accedere all'oggetto che lo racchiude.
L'oggetto classe manterrebbe un riferimento nascosto all'oggetto che si chiude.
Sugli edifici un tale riferimento nascosto prende una lista e non è quello che ho toccato entra
nell'oggetto di una classe precedente di un amico non sarà garbage collection undealt in quella classe l'oggetto è vivo un uso
comune di tale classe membro non statico per definire un adattatore e le API sono utilizzate per produrre un
uso diverso dell'oggetto di classe esterno.
Un esempio sono i metodi di raccolta e l'interfaccia di zazzera come ha detto che i valori stanno
aumentando il metodo classico Nortons come oggetto set che contiene tutte le chiavi nella mappa e questo oggetto è
fondamentalmente un'istanza di classe membro non statica che implementa il suo set interfaccia.
Quindi l'oggetto set sta fondamentalmente usando lo stato dell'oggetto grossolano che visualizzato sarebbe il pezzo dovuto
a questo.
Richiede hit e riferimento all'oggetto che lo racchiude.
Un altro esempio è che in realtà non importa molto che
incontriamo nelle interfacce di raccolta come set che viene monitorato restituisce un oggetto iteratore che fondamentalmente è un'istanza della
classe membro non statica che implementa l'interfaccia iteratore.
Non andiamo avanti e implementiamo semplicemente l'adattatore OK.
Eccoci al mio editor Eclipse e sono stati creati un nuovo pacchetto Gocong dot semantics con punti
quadrati master e ci sono due classi qui cache e bookmark.
Quindi in pratica stiamo implementando una cache e dimostreremo l'adattatore.
OK.
Quindi darà una visione diversa del denaro.
In questo modo, i contanti stanno per contenere gli oggetti dei segnalibri.
Va bene.
E qui c'è un segnalibro.
In più ha tutto questo ID e titolo sui getter e setter che vanno con queste due variabili.
OK.
Iniziamo ad ottenere titolo titolo qui come classe di cassa e classe in denaro.
È solo un normale incasso se non lo facciamo se non vuoi colpire che è per un accesso più veloce.
Possiamo archiviare quel denaro giusto.
Lo sappiamo.
Quindi Cash ha questo su Scripter e memorizzerà i segnalibri ei segnalibri saranno memorizzati in questi
oggetti di richiamo.
OK.
E la dimensione di questi oggetti è un segnalibro.
Saranno forniti come input per il costruttore di contanti qui.
OK.
E preciso.
Ora c'è questo metodo chiamato Eid che sarà in voga con un segnalibro su quel segnalibro che verrà
aggiunto all'arte al segnalibro su di esso.
E c'è anche questa variabile chiamata next che terrà traccia del prossimo elemento che viene aggiunto.
OK inizialmente a zero.
E qui ci sono alcuni sforzi critici che sono meno della dimensione dell'arte se è inferiore.
Solo allora inseriremo l'elemento del segnalibro e incrementeremo anche il codice.
OK.
Stiamo dicendo dopo.
Plus plus che significa secondi o primi ottenerlo e quindi il contatore verrà incrementato.
Questo è solo ci sono due metodi.
Quindi implementeremo l'adattatore.
Quindi, proprio come un elenco non impostato ha un generatore.
Vogliamo anche implementare un iteratore che sarebbe una classe annidata.
Quindi, proprio come l'interfaccia che stiamo definendo.
E si chiama Cash.
Un regista ha successivamente restituito un valore booleano.
Fa solo se c'è un altro elemento in esso.
OK e se è così solo allora possiamo invocare il prossimo metodo.
Quindi dovremmo implementarlo e abbiamo qui questo metodo principale.
Lo vedremo più avanti perché stiamo per popolare i dati.
Ma andiamo avanti e implementiamo la nostra classe membro non statica di classe nidificata.
Vediamo privato.
OK.
Ed è una classe e si
chiama come mio gosh iterator e implementa cash in ordine di interfaccia.
Ok quindi andiamo avanti sono i metodi non implementati.
Avanti su House next.
Quindi diciamo che in realtà è arrivato qui.
Quindi è un rinnovabile privato.
Quindi se ci sono più elementi per farlo, allora potrebbe restituire un valore vero.
Altrimenti ci restituirebbe.
OK.
E io apprezzo e questo è un valore.
Quindi questo è un indice nell'array e verrà incrementato qui.
Quindi diciamo solo articoli che mi piacciono di più.
Quindi restituirà il segno del libro e aumenterà l'indice.
OK.
Quindi, una volta che tutti gli articoli sono valutati, significa che MOBA ha un metodo X.
Sarebbe falso e dopo non potremo seguire il prossimo metodo.
OK, allora entriamo nel nostro.
Quindi è il mio Dio lo ha fatto.
Quindi è una classe nidificata è una classe membro non statica.
Quindi andiamo qui.
Andiamo avanti e questo è il codice.
Quindi noi istanziando denaro contante e lo chiamiamo solo come un prodotto consigliato.
OK.
E il volo taglie e stiamo creando queste istanze cinque istanze articolo uno e stiamo controllando
l'ID su Titan OK.
Quindi non preoccupiamoci di cosa siano gli scienziati.
Quindi lo stesso qui.
I segnalibri sono stati creati.
E finalmente li stiamo aggiungendo proprio ora.
La prossima cosa da fare sarebbe darglielo.
OK.
Quindi per quello sono un'altra cosa è che dobbiamo creare un'istanza di questo Mike Ashley a lei in modo
che possiamo invocare Tu sai che possiamo leggere gli elementi che conosci proprio come la set list ha un ottimo metodo.
Quindi andiamo avanti e creare un metodo qui.
Quindi quello che ha iniziato non ha importanza.
E possiamo vederlo da un terzo sugli elementi raccomandati e che in realtà sta creando la creazione dell'istanza del
nostro oggetto di classe.
Quindi, per prima cosa dobbiamo avere questo altro oggetto di classe come descritto in precedenza nella lezione.
Quindi usando quel bene e Wolgast è stato importante.
Proprio come il nostro modo di fare idealista e altre cause.
E questo in realtà creerebbe un ritorno e un'istanza di questo.
Mio Dio, traditore.
Il tipo di riferimento non sarà questo, sarà il direttore di casher, perché sta giocando.
OK.
Quindi andiamo avanti e quindi abbiamo già aggiunto gli articoli.
Quindi quello che dobbiamo fare qui è di avere il tipo di riferimento come donatore Gosh.
Quindi questo è l'oggetto di classe esterno e stiamo invocando un regista.
Quindi arriveremo a un'istanza dell'oggetto della classe.
Quindi ha un ex o una interpretazione di quello che possiamo dire.
La stampa di Norris quel titolo.
OK.
Quindi è così.
Basta andare avanti ed eseguirlo.
E puoi vedere che stampa tutti i titoli.
OK, ecco come creare un'istanza per far sì che Wolken esegua
tale metodo e l'iteratore restituisca effettivamente un'istanza del dischetto di classe interna in una classe che rappresenta effettivamente lo
stato.
È una visione diversa dello stato di questa particolare istanza skosh.
OK, questo è un adattatore.
OK.
Ora c'è anche un secondo modo per percorrerlo.
Ora una cosa da notare è che ora usiamo un'interfaccia invece di un'interfaccia.
Se fosse stata una classe pubblica A, molto simile alla mia cautela, è anche un'interfaccia iteratore pubblica e unkosher che non è
proprio lì.
Quindi in tale scenario possiamo accedere direttamente che avremmo il tipo di riferimento qui come cache doc.
Mike Ashley Durocher OK, ma questo è un design migliore perché stiamo scrivendo un'interfaccia.
Quindi domani se vogliamo possiamo anche cambiare l'implementazione possiamo usare un nome diverso qui.
Quindi non siamo legati al nome qui.
Quindi questo è un design migliore, ma c'è anche un modo diverso
per creare un'istanza qui, quindi possiamo solo dire qui e questo è un modo strano di istanziarlo, è molto usato raramente.
Ed è anche discusso e un articolo nel libro di Joshuah ingiunzioni di Bloch.
È l'articolo 22 e qui e ho appena saputo che stiamo vedendo Daut nuovo e questo è
come è fatto.
Ma qui il presupposto è che sappiamo che cosa dovrebbero fare le istanze nelle nostre classi,
quindi qui stiamo usando direttamente il nome della classe, il che significa che quella opzione è che non c'è nessuna interfaccia qui, nel
qual caso sarebbe il mio denaro, non il mio denaro rivelatore.
Quindi questo è un altro modo di implementarlo dove conosciamo il nome della nostra classe.
Ma questo è usato molto raramente.
Normalmente dovresti definire un tipo di metodo come questo e le persone chiamano la parola
non documentata e un'istanza della classe interiore.
OK, questo è il modo normale per farlo.
E questa è una classe membro non statica con un semplice Dr. Dato che sta dando una diversa visione dello stato
dell'oggetto autocross su una mappa hash, abbiamo cose come Kieser valori devoti e così via.
Ora lascia che mostri il mio qui.
Questo è il mio file di directory locale sulla scrivania.
E qui puoi vedere che c'è questo mostra che i classificatori.
Allora eccoci qua.
E l'eclissi di Jayati è in realtà il luogo e all'interno di ciò siamo stati e all'interno della semantica siamo master class che abbiamo tutti questi classificatori
e possiamo vederlo che possiamo vedere che c'è questa cache e c'è un segnalibro
sotto la sua interfaccia di iteratore della cache.
Ma per la classe Nestico e le nuove classi create dollaro in contanti.
Mio Dio, un regista.
Come ho detto prima.
Quindi la master class è effettivamente implementata come questa classe separata di livello superiore.
OK.
Ora, se torniamo in testa anche se sarebbe stato implementato come.
Quindi Mike Ashley lo ha fatto perché non c'è il vetro.
Sarà scritto come denaro dollaro Mike Ashley e sarà una classe separata sul disco rigido.
Quindi qui questo sarebbe stato sostituito con un nuovo aspetto scritto come questo.
Internamente questo è come sarebbe.
Gosh Dolor qualcosa di simile.
E questo Mike Archer Director vorda come un costruttore che il costruttore prenderebbe.
Quindi stiamo passando la cassiera.
Così sarebbe.
Quindi stai trasmettendo l'istanza della classe esterna in modo che il regista di Mike Ashley tu sappia che può contrassegnare
gli elementi e gli elementi che non sarebbero.
Quindi, ho una risposta diretta al tuo Mike Ashley che avrebbe avuto il costruttore nel campo della bicicletta.
E ciò richiederebbe il contante come barometro in modo che possa accedere a queste variabili di istanza come gli oggetti.
OK.
Quindi è così che funziona sotto il cofano.
OK.
Così passerebbe ho fatto riferimento.
L'unica cosa è costruire quel riferimento qui e questo potrebbe richiedere un po 'di spazio e tempo e questo è uno
dei limiti.
E più avanti vedremo le classi membro statiche che non hanno questa limitazione.
Quindi è meglio usarlo quando necessario.
Ha un suo posto, ma anche questo ha il suo posto.
Quindi questo è principalmente usato per gli adattatori.
OK.
Quindi volevi solo farlo.
Certo che ne parli anche su come è implementato internamente.
Quindi sarà una classe separata e potrebbe avere il proprio costruttore e passeremo questo riferimento
di riferimento.
OK.
In modo che tale evento non sia una classe di classi di Nestico, basterà semplicemente avere la
possibilità di essere solo una classe separata e potremmo utilizzare l'oggetto della classe hotel che fa classi Web i membri
degli oggetti di classe hotel.
Quindi questo è tutto.
Torniamo ai siti.
E questa guardia è disponibile anche nella sezione risorse.
Ora qui è la restrizione e la classe membro non statica non può avere membri statici.
Puoi provarlo e vedrai che ci darebbe un errore nel compilatore.
La ragione di ciò è che i membri statici dovrebbero essere accessibili senza un oggetto.
Giusto, ma sappiamo che per creare in un oggetto di classe abbiamo prima bisogno di creare un oggetto di classe che, una
volta che vediamo che stiamo creando un oggetto di classe esterno, allora stiamo parlando di cose istantanee.
Quindi non è legale avere membri statici all'interno di una classe membro non statica.
Un altro modo per vederlo è un non statico in una classe è come una variabile di istanza e cioè
ha qualcosa a che fare con lo stato dell'oggetto Order.
Quindi se ci sono due oggetti più vecchi allora ci saranno anche due oggetti di classe diversi che
rappresentano stati diversi.
Non è roba, sappiamo che siamo indipendenti dagli oggetti.
Quindi le classi membro non statiche sono fondamentalmente roba relativa alle istanze.
Arrivando ad accedere alla classe chiusa possiamo accedere al metodo Crossus interno usando il
riferimento interno dell'oggetto non nazista.
In che modo la classe interiore può accedere ai membri nascosti qui al governo a cui si accede.
Se Dio non esiste lì dentro in quella classe, allora andrà per tutto il tempo nell'autocross.
In questo esempio abbiamo questo.
Questo si riferirebbe sempre al metodo go nella bocca del coltello della classe interna che è presente
solo nella classe.
E se continuiamo a usare questo cane, si verifica un errore del compilatore.
Quindi questo riferimento quando usato all'interno della nostra classe implica che vogliamo accedere a
qualcosa nella classe interna stessa.
E se vogliamo accedere esplicitamente al metodo go nella classe esterna, allora possiamo dire che il dardo esterno non va
dove l'esterno è il nome della classe della lontra, le classi esterne quasi.
Vorresti farlo se entrambe le clausole interne ed esterne hanno il metodo go.
Se apri solo la questione, possiamo accedere direttamente come mostrato nel primo esempio.
Vorrei solo andare avanti e provare questo mettendo un buon metodo nelle classi sia esterne che interne della nostra
democrazia.
Sono così è tutto.
E la classe membro non statica è semplicemente un membro di istanza della classe ed è utile per implementare
gli adattatori.
Il risolutore chiama mimeo.
Grazie.