Concept of Inner Class in Java
- Nested Classes
- The Types of Classes:
- Top level classes
- Nested classes
- Static classes
- Inner classes
- Anonymous classes
- Local classes
- Nested Interface
- Multi Nesting Access
- GUI Example without Inner Class
- GUI Example with Inner Class
- GUI Example with Anonymous Inner Class
- Using extends in inner class and nested static class
Nested Classes |
Nested classes are a feature of Java version 1.1 or later where nested classes are allowed to be defined inside enclosing classes.
Such a class is called a nested class and is can define as under here:
class OuterClass1
{
...
class NestedClass1 {
...
}
}
Note : Nested classes are divided into two categories: static and non-static. Nested classes that are declared static are simply called static nested classes. Non-static nested classes are called inner classes.
class OuterClass1
{
...
static class StaticNestedClass1 {
...
}
class InnerClass1 {
...
}
}
Top level Class &The Six Types of Classes |
- Top level classes: It is also called TLC and it can’t be private, protected and static.
- Nested classes: either static or inner.
- Static classes: no associated outer class instance.
- Inner classes: with an associated outer class instance.
- Anonymous classes: unnamed inner class defined in the middle of a method
- Local classes: named inner class defined in the middle of a method.
Top level Class &Nested and Inner class |
Nested Interface |
Note:- Its practical usefulness is about zero.
Local class |
Anonymous class |
Rules for Anonymous class :
- Anonymous classes are defined where they are constructed.
- Anonymous classes cannot have explicit constructors.
- Anonymous classes can implement an interface or explicitly extend a class. Cannot do both.
Syntax: new interface name() { } or new class name() { }
- Keywords “implements” and “extends” are not used in anonymous classes.
- Abstract classes can be specified in the creation of an anonymous class.
- The new class is a concrete class, which automatically extends the abstract class.
Multi Nesting Access |
GUI Example without Inner Class |
GUI Example with Inner Class |
GUI Example with Anonymous Inner Class |
Using extends in inner class and nested static class |
Recent Comments