Beh... mettere una classe all'interno di un'altra classe serve, di solito, quando si deve utilizzare un oggetto della classe interna, solo nella classe esterna.
Diciamo che serve a risparmiare un file... a volte è più comodo e a volte è utile non far sapere alle altre classi cosa si usa all'interno di una classe più grande.
Supponi, per esempio, di avere una classe simile ad un Vector che contiene tutti elementi particolari (la chiamiamo A). Supponi che questa classe debba servirsi di una particolare struttura dati (implementabile tramite una classe, che chiamiamo B). Non serve mettere pubblica la classe B perchè solo la classe A ne fa uso (se una classe stà in un file a parte DEVE essere pubblica o, quantomeno, senza modificatore).
In questo caso è utile avere una classe interna (magari privata) che viene usata:
A volte, invece, è utile raggruppare delle classi all'interno di un'unica classe che crea oggetti statici delle classi interne... è il caso della classe System (la quale ha al suo interno gli oggetti out e in)codice:public class A { private class B { ... } private B elemento; ... }
Ciao.![]()