Normal
Theoretisch braucht man sie nicht. Aber praktisch sind sie praktisch Es gibt ja verschiedene Arten von inneren Klassen (static, anonymous...) die alle bestimmte bevorzugte Einsatzgebiete haben, aber allgemein können sie helfen, das Programm besser zu strukturieren und aufgeräumter zu halten. Angenommen, du bauchst NUR in einer Klasse (oder gar nur in einer Methode) eine kleine "Hilfsklasse", die z.B. eine Person und ein Auto zusammenfassen, dann kannst du eine kleine, statische innere Klasse machen wie[code]private static class Ownership{ Person owner; Car car;}[/code]und die dann ganz lokal verwenden, ohne dass man eine "Vollständige" öffentliche Klasse dafür erstellen muss.Praktisch ist auch, dass (nicht-statisch) innere Klassen auf die Fields der äußeren Klasse zugreifen können.Aber vielleicht schreiben andere noch mehr dazu...
Theoretisch braucht man sie nicht. Aber praktisch sind sie praktisch
Es gibt ja verschiedene Arten von inneren Klassen (static, anonymous...) die alle bestimmte bevorzugte Einsatzgebiete haben, aber allgemein können sie helfen, das Programm besser zu strukturieren und aufgeräumter zu halten. Angenommen, du bauchst NUR in einer Klasse (oder gar nur in einer Methode) eine kleine "Hilfsklasse", die z.B. eine Person und ein Auto zusammenfassen, dann kannst du eine kleine, statische innere Klasse machen wie
[code]
private static class Ownership
{
Person owner;
Car car;
}
[/code]
und die dann ganz lokal verwenden, ohne dass man eine "Vollständige" öffentliche Klasse dafür erstellen muss.
Praktisch ist auch, dass (nicht-statisch) innere Klassen auf die Fields der äußeren Klasse zugreifen können.
Aber vielleicht schreiben andere noch mehr dazu...