What is a nested class in Java?
A nested class is a class declared inside another class.
Why are nested classes used?
To logically group classes that are only used in one place and improve encapsulation.
How many types of nested classes exist in Java?
Four: static nested class, inner class, local class, and anonymous class.
What is a static nested class?
A nested class declared static that does not require an instance of the outer class.
What is an inner class?
A non-static nested class that requires an instance of the outer class.
What is a local class?
A class declared inside a method or block.
What is an anonymous class?
A nameless class declared and instantiated in one expression.
Can nested classes access outer class members?
Yes. They can access members of the enclosing class, including private ones.
Can outer class access nested class members?
Yes, depending on access modifiers.
Why are nested classes useful for encapsulation?
They hide helper classes from other classes.
Can nested classes be private?
Yes. Nested classes can use any access modifier.
Do nested classes improve code readability?
Yes. They keep related logic grouped together.
Can a file contain multiple classes?
Yes, but only one public top-level class per file.
Is a nested class the same as a package-level class?
No. Nested classes are defined inside another class.
When should you use nested classes?
When a class is tightly coupled to another and not needed elsewhere.
Key rule to remember?
Nested class = class inside another class.
How many types of nested classes are there in Java?
Four types: member inner class, local inner class, anonymous inner class, and static nested class.
What is a member inner class?
A non-static class defined inside another class and associated with an instance of the outer class.
What is a local inner class?
A class declared inside a method or block.
What is an anonymous inner class?
A nameless class declared and instantiated in a single expression.
What is a static nested class?
A nested class declared static that does not require an instance of the outer class.
Which nested class type requires an outer class object?
Member inner class.
Which nested class can access outer class instance members directly?
Member inner class.
Which nested class can only access final or effectively final variables from enclosing method?
Local inner class.