A static nested class does not hold an implicit reference to the outer instance; it can be created without an outer object. An inner class holds a reference to the outer instance, which can increase memory usage and lead to leaks if misused.
Expanding on the short answer — what usually matters in practice:
A tiny example (an explanation template):
// Example: discuss trade-offs for "static-nested-class-vs-inner-class:-what’s-the-d"
function explain() {
// Start from the core idea:
// A static nested class does not hold an implicit reference to the outer instance; it can be
}