Java - Inner Classes
Inner Classes
class Outer {
class Inner { int value(){ return 1; } } // member inner
static class Nested { int value(){ return 2; } } // static nested
}
var o = new Outer();
var i = o.new Inner();
var n = new Outer.Nested();
Use anonymous classes to provide small one-off implementations (often replaced by lambdas for SAM types).
Try it
- Instantiate a member inner class and a static nested class; call a method on each.
- Create an anonymous inner class to implement a small interface on the fly.