inner class

18
Nested Class

Upload: guna-sekaran

Post on 24-May-2015

126 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inner class

Nested Class

Page 2: Inner class

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

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

Example of InnerClass

Page 5: Inner class

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

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

Example of member inner class that is invoked inside a class

Page 8: Inner class

Example of member inner class that is invoked outside a class

Page 9: Inner class

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

Example of anonymous inner class by abstract class

Page 11: Inner class

Example of anonymous inner class by interface

Page 12: Inner class

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

Example of local inner class

Page 14: Inner class

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

Example of static nested class

Page 16: Inner class

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 18: Inner class

Thank You!!!