Inner class
-
Upload
guna-sekaran -
Category
Documents
-
view
126 -
download
0
Transcript of Inner class
![Page 1: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/1.jpg)
Nested Class
![Page 2: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/2.jpg)
What is Nested Class?
Inner classes are class within Class. Inner class instance has special relationship with
Outer class. This special relationship gives inner class access to member of outer class as if they are the part of outer class.
Additionally, it can access all the members of outer class including private data members and methods.
![Page 3: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/3.jpg)
Syntax of InnerClass
//outer classclass OuterClass {//inner classclass InnerClass {}}
How to access Inner Class? Inner class can be accessed only through live
instance of outer class.
![Page 4: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/4.jpg)
Example of InnerClass
![Page 5: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/5.jpg)
Types of Nested class:
non-static nested class(inner class)a)Member inner classb)Anonymous inner classc)Local inner class
static nested class
![Page 6: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/6.jpg)
Member Inner Class
A class that is declared inside a class but outside a method is known as member inner class.
Invocation of Member Inner class
From within the class From outside the class
![Page 7: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/7.jpg)
Example of member inner class that is invoked inside a class
![Page 8: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/8.jpg)
Example of member inner class that is invoked outside a class
![Page 9: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/9.jpg)
Anonymous inner class
A class that have no name is known as anonymous inner class.
Anonymous class can be created by:
Class (may be abstract class also). Interface
![Page 10: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/10.jpg)
Example of anonymous inner class by abstract class
![Page 11: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/11.jpg)
Example of anonymous inner class by interface
![Page 12: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/12.jpg)
Local inner class
A class that is created inside a method is known as local inner class.
If you want to invoke the methods of local inner class, you must instantiate this class inside the method.
Rules for Local Inner class
Local variable can't be private, public or protected. Local inner class cannot be invoked from outside the method. Local inner class cannot access non-final local variable.
![Page 13: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/13.jpg)
Example of local inner class
![Page 14: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/14.jpg)
static nested class
A static class that is created inside a class is known as static nested class.
It can access static data members of outer class including private.
static nested class cannot access non-static (instance) data member or method.
![Page 15: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/15.jpg)
Example of static nested class
![Page 16: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/16.jpg)
Purpose of nested classes
Nested classes represent a special type of relationship that is it can access all the members (data members and methods) of outer class including private.
Nested classes are used to develop more readable and maintainable code because it logically group classes and interfaces in one place only.
Code Optimization: It requires less code to write.
![Page 17: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/17.jpg)
Reference: http://www.studytonight.com/java/nested-classe
s.php http://www.javatpoint.com/difference-between-
nested-classes-and-inner-classes http://www.javatpoint.com/annonymous-inner-cl
ass http://www.javatpoint.com/member-inner-class http://examples.javacodegeeks.com/core-java/cl
ass/static-inner-class-example/
![Page 18: Inner class](https://reader036.fdocuments.us/reader036/viewer/2022082605/55615600d8b42aa20d8b530a/html5/thumbnails/18.jpg)
Thank You!!!