Avatar ·

Was ist der Unterschied zwischen einer inneren Klasse (inner class) und einer statischen verschachtelten Klasse (static nested class) in Java?

Hallo Kollegen! Ich habe gerade angefangen, Java zu lernen und bin auf das Thema verschachtelte Klassen gestoßen. Ich lese verschiedene Quellen, kann aber den genauen Unterschied zwischen einer inner class (innere Klasse) und einer static nested class (statische verschachtelte Klasse) nicht klar erfassen. Beide werden anscheinend innerhalb einer anderen Klasse deklariert, verhalten sich aber unterschiedlich. Zum Beispiel habe ich diesen Code: ```java public class Outer { private String message = "Hello from Outer"; class Inner { public void print() { System.out.println(message); } } static class StaticNested { public void print() { // Hier kann ich nicht direkt auf message zugreifen // System.out.println(message); // Compiler-Fehler } } } ``` Fragen: 1. Warum kann Inner auf