SlideShare a Scribd company logo
Nested 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.
Syntax of InnerClass
//outer class
class OuterClass {
//inner class
class InnerClass {
}
}
How to access Inner Class?
 Inner class can be accessed only through live
instance of outer class.
Example of InnerClass
Types of Nested class:
non-static nested class(inner class)
a)Member inner class
b)Anonymous inner class
c)Local inner class
static nested 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
Example of member inner class that is
invoked inside a class
Example of member inner class that is
invoked outside a 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
Example of anonymous inner class by
abstract class
Example of anonymous inner class by
interface
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.
Example of local 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.
Example of static nested 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.
Reference:
 http://www.studytonight.com/java/nested-
classes.php
 http://www.javatpoint.com/difference-between-
nested-classes-and-inner-classes
 http://www.javatpoint.com/annonymous-inner-class
 http://www.javatpoint.com/member-inner-class
 http://examples.javacodegeeks.com/core-
java/class/static-inner-class-example/
Thank You!!!

More Related Content

What's hot

This keyword in java
This keyword in javaThis keyword in java
This keyword in java
Hitesh Kumar
 
Inner classes in java
Inner classes in javaInner classes in java
Inner classes in java
PhD Research Scholar
 
Friend functions
Friend functions Friend functions
Friend functions Megha Singh
 
concept of oops
concept of oopsconcept of oops
concept of oops
prince sharma
 
WHAT IS ABSTRACTION IN JAVA
WHAT IS ABSTRACTION IN JAVAWHAT IS ABSTRACTION IN JAVA
WHAT IS ABSTRACTION IN JAVA
sivasundari6
 
Exception Handling in Java
Exception Handling in JavaException Handling in Java
Exception Handling in Java
lalithambiga kamaraj
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member Functions
MOHIT AGARWAL
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).pptAlok Kumar
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
Vishal Patil
 
Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in Java
Spotle.ai
 
Dynamic memory allocation in c++
Dynamic memory allocation in c++Dynamic memory allocation in c++
Dynamic memory allocation in c++Tech_MX
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
Burhan Ahmed
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVAAbhilash Nair
 
Generics in java
Generics in javaGenerics in java
Generics in java
suraj pandey
 
Inheritance In C++ (Object Oriented Programming)
Inheritance In C++ (Object Oriented Programming)Inheritance In C++ (Object Oriented Programming)
Inheritance In C++ (Object Oriented Programming)
Gajendra Singh Thakur
 
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B KuteChapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Tushar B Kute
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
Nilesh Dalvi
 
[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers
Muhammad Hammad Waseem
 

What's hot (20)

Encapsulation
EncapsulationEncapsulation
Encapsulation
 
This keyword in java
This keyword in javaThis keyword in java
This keyword in java
 
Inner classes in java
Inner classes in javaInner classes in java
Inner classes in java
 
Friend functions
Friend functions Friend functions
Friend functions
 
concept of oops
concept of oopsconcept of oops
concept of oops
 
WHAT IS ABSTRACTION IN JAVA
WHAT IS ABSTRACTION IN JAVAWHAT IS ABSTRACTION IN JAVA
WHAT IS ABSTRACTION IN JAVA
 
Exception Handling in Java
Exception Handling in JavaException Handling in Java
Exception Handling in Java
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member Functions
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
 
Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in Java
 
Dynamic memory allocation in c++
Dynamic memory allocation in c++Dynamic memory allocation in c++
Dynamic memory allocation in c++
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVA
 
Generics in java
Generics in javaGenerics in java
Generics in java
 
Inheritance In C++ (Object Oriented Programming)
Inheritance In C++ (Object Oriented Programming)Inheritance In C++ (Object Oriented Programming)
Inheritance In C++ (Object Oriented Programming)
 
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B KuteChapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers
 

Similar to Inner class

Inner Classes in Java
Inner Classes in JavaInner Classes in Java
Inner Classes in Java
Dallington Asingwire
 
Nested classes in java
Nested classes in javaNested classes in java
Nested classes in java
Richa Singh
 
types of classes in java
types of classes in javatypes of classes in java
types of classes in java
Nouman Riaz
 
[圣思园][Java SE]Inner class
[圣思园][Java SE]Inner class[圣思园][Java SE]Inner class
[圣思园][Java SE]Inner classArBing Xie
 
Inner class
Inner classInner class
Inner class
Medivh2011
 
Nested classes in java
Nested classes in javaNested classes in java
Nested classes in java
ChiradipBhattacharya
 
Nested class in java
Nested class in javaNested class in java
Nested class in java
ChiradipBhattacharya
 
Inner Classes
Inner ClassesInner Classes
Inner Classesparag
 
Java Nested class Concept
Java Nested class ConceptJava Nested class Concept
Java Nested class Concept
jagriti srivastava
 
A1771937735_21789_14_2018__16_ Nested Classes.ppt
A1771937735_21789_14_2018__16_ Nested Classes.pptA1771937735_21789_14_2018__16_ Nested Classes.ppt
A1771937735_21789_14_2018__16_ Nested Classes.ppt
RithwikRanjan
 
Inner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVAInner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVATech_MX
 
Inner class
Inner classInner class
Inner class
Bansari Shah
 
Java Inner Class
Java Inner ClassJava Inner Class
Java Inner Class
DeeptiJava
 
Nested class
Nested classNested class
Nested class
Daman Toor
 
Object oriented programming CLASSES-AND-OBJECTS.pptx
Object oriented programming CLASSES-AND-OBJECTS.pptxObject oriented programming CLASSES-AND-OBJECTS.pptx
Object oriented programming CLASSES-AND-OBJECTS.pptx
DaveEstonilo
 
java tutorial 4
 java tutorial 4 java tutorial 4
java tutorial 4
Tushar Desarda
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
Debasish Pratihari
 
116824015 java-j2 ee
116824015 java-j2 ee116824015 java-j2 ee
116824015 java-j2 ee
homeworkping9
 

Similar to Inner class (20)

Inner Classes in Java
Inner Classes in JavaInner Classes in Java
Inner Classes in Java
 
Nested classes in java
Nested classes in javaNested classes in java
Nested classes in java
 
types of classes in java
types of classes in javatypes of classes in java
types of classes in java
 
[圣思园][Java SE]Inner class
[圣思园][Java SE]Inner class[圣思园][Java SE]Inner class
[圣思园][Java SE]Inner class
 
Inner class
Inner classInner class
Inner class
 
Nested classes in java
Nested classes in javaNested classes in java
Nested classes in java
 
Nested class in java
Nested class in javaNested class in java
Nested class in java
 
Inner Classes
Inner ClassesInner Classes
Inner Classes
 
Java Nested class Concept
Java Nested class ConceptJava Nested class Concept
Java Nested class Concept
 
A1771937735_21789_14_2018__16_ Nested Classes.ppt
A1771937735_21789_14_2018__16_ Nested Classes.pptA1771937735_21789_14_2018__16_ Nested Classes.ppt
A1771937735_21789_14_2018__16_ Nested Classes.ppt
 
Inner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVAInner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVA
 
Javasession8
Javasession8Javasession8
Javasession8
 
Inner class
Inner classInner class
Inner class
 
Java Inner Class
Java Inner ClassJava Inner Class
Java Inner Class
 
Inner classes
Inner classesInner classes
Inner classes
 
Nested class
Nested classNested class
Nested class
 
Object oriented programming CLASSES-AND-OBJECTS.pptx
Object oriented programming CLASSES-AND-OBJECTS.pptxObject oriented programming CLASSES-AND-OBJECTS.pptx
Object oriented programming CLASSES-AND-OBJECTS.pptx
 
java tutorial 4
 java tutorial 4 java tutorial 4
java tutorial 4
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
116824015 java-j2 ee
116824015 java-j2 ee116824015 java-j2 ee
116824015 java-j2 ee
 

Inner class

  • 2. 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.
  • 3. Syntax of InnerClass //outer class class OuterClass { //inner class class InnerClass { } } How to access Inner Class?  Inner class can be accessed only through live instance of outer class.
  • 5. Types of Nested class: non-static nested class(inner class) a)Member inner class b)Anonymous inner class c)Local inner class static nested class
  • 6. 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
  • 7. Example of member inner class that is invoked inside a class
  • 8. Example of member inner class that is invoked outside a class
  • 9. 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
  • 10. Example of anonymous inner class by abstract class
  • 11. Example of anonymous inner class by interface
  • 12. 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.
  • 13. Example of local inner class
  • 14. 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.
  • 15. Example of static nested class
  • 16. 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.
  • 17. Reference:  http://www.studytonight.com/java/nested- classes.php  http://www.javatpoint.com/difference-between- nested-classes-and-inner-classes  http://www.javatpoint.com/annonymous-inner-class  http://www.javatpoint.com/member-inner-class  http://examples.javacodegeeks.com/core- java/class/static-inner-class-example/