SlideShare a Scribd company logo
Inner Classes Parag Shah Adaptive Software Solutions
Agenda What are inner classes Types of inner classes Uses of inner classes
What Are Inner Classes An inner class is a class within a class It has access to certain members of the outer class
Introduction To Inner Classes Defining an Inner Class public class Outer { public class Inner { public someMethod() {} } } The inner class has access to members of the enclosing class The inner class can be instantiated by another class through it's enclosing class' reference When to use an inner class See  [InnerClassesExample.java]
Static Nested Classes Defining an Inner Class public class Outer { public static class Inner { public someMethod() {} } } Can access only static members of the enclosing class Can be instantiated without without a reference to the enclosing class When to use static inner classes
Anonymous Inner Classes Anonymous inner classes do not have a name public class SoccerDataBuilder { public List parse() { Parser p = new Parser(); p.parse(new Ignorable() { public boolean isValid() { return true; } ); } }
Uses of Anonymous Inner Classes Event handlers for UI events The class' main use is to be represented as the interface it implements Ideally have a few lines of code Callbacks See  [AnonymousInnerExample.java]
Local Inner Classes Inner classes can be defined in methods Very rarely used
Inner Classes And Upcasting An inner class can be upcast into an Interface or a super class This is the primary use in anonymous inner classes
Private Inner Classes Inner classes can be private Cannot be instantiated from another class The enclosing class can control their instantiation and return them as an implementing interface See  [PrivateInnerClass.java]
Accessing The Outer Class An inner class can access any attribute or method in the outer class directly An inner class can produce a reference to the outer class by using OuterClassName.this
Summary Creating Inner Classes Types of inner classes Accessing outer class elements from an Inner Class

More Related Content

What's hot (18)

DOCX
Nested class in java
ChiradipBhattacharya
 
PDF
Inner Classes in Java
Dallington Asingwire
 
PPTX
Java- Nested Classes
Prabhdeep Singh
 
PPTX
Inner classes in java
PhD Research Scholar
 
PPTX
[OOP - Lec 07] Access Specifiers
Muhammad Hammad Waseem
 
PDF
Java Inner Classes
Jussi Pohjolainen
 
PPTX
Access specifier
zindadili
 
PPT
Inner classes9 cm604.28
myrajendra
 
PDF
[圣思园][Java SE]Inner class
ArBing Xie
 
PDF
Access specifiers (Public Private Protected) C++
vivekkumar2938
 
PPTX
Javasession8
Rajeev Kumar
 
PPTX
Access specifiers(modifiers) in java
HrithikShinde
 
PPT
java tutorial 4
Tushar Desarda
 
PPTX
10 access control
dhrubo kayal
 
PDF
Java basic-syntax
Shahid Rasheed
 
PPTX
Java Nested class Concept
jagriti srivastava
 
PDF
Java basic-syntax
javaicon
 
PDF
Java basic syntax
3trg
 
Nested class in java
ChiradipBhattacharya
 
Inner Classes in Java
Dallington Asingwire
 
Java- Nested Classes
Prabhdeep Singh
 
Inner classes in java
PhD Research Scholar
 
[OOP - Lec 07] Access Specifiers
Muhammad Hammad Waseem
 
Java Inner Classes
Jussi Pohjolainen
 
Access specifier
zindadili
 
Inner classes9 cm604.28
myrajendra
 
[圣思园][Java SE]Inner class
ArBing Xie
 
Access specifiers (Public Private Protected) C++
vivekkumar2938
 
Javasession8
Rajeev Kumar
 
Access specifiers(modifiers) in java
HrithikShinde
 
java tutorial 4
Tushar Desarda
 
10 access control
dhrubo kayal
 
Java basic-syntax
Shahid Rasheed
 
Java Nested class Concept
jagriti srivastava
 
Java basic-syntax
javaicon
 
Java basic syntax
3trg
 

Similar to Inner Classes (20)

PPTX
Java Programming inner and Nested classes.pptx
AkashJha84
 
PPTX
WINSEMFRE2024-25_CSE2005_ETH_AP2024255000715_2025-03-18_Reference-Material-I....
belgiumsckgr
 
PPT
A1771937735_21789_14_2018__16_ Nested Classes.ppt
RithwikRanjan
 
PPTX
Nested class
Daman Toor
 
PPTX
Nested classes in java
ChiradipBhattacharya
 
PPTX
Inner class
Bansari Shah
 
PDF
Inner class
Medivh2011
 
PPTX
types of classes in java
Nouman Riaz
 
PPT
Inner classes or nested classes in Java Program
ssuser5d6130
 
PPSX
Inner Classes
Hitesh-Java
 
PPTX
Object oriented programming CLASSES-AND-OBJECTS.pptx
DaveEstonilo
 
PPTX
Session 21 - Inner Classes
PawanMM
 
PPT
Lecture09.ppt
hemanth248901
 
PDF
Classes in Java great learning.pdf
SHASHIKANT346021
 
PPTX
CS244 _Lec8_Generics_innerclasses_Lambda.pptx
NadeemEzat
 
PDF
Java Inner Classes
Soba Arjun
 
PDF
Class method object
Minal Maniar
 
PPTX
Static Members-Java.pptx
ADDAGIRIVENKATARAVIC
 
PDF
ch4 foohggggvvbbhhhhhhhhhbbbbbbbbbbbbp.pdf
bca23189c
 
PPTX
Inner classes
Icancode
 
Java Programming inner and Nested classes.pptx
AkashJha84
 
WINSEMFRE2024-25_CSE2005_ETH_AP2024255000715_2025-03-18_Reference-Material-I....
belgiumsckgr
 
A1771937735_21789_14_2018__16_ Nested Classes.ppt
RithwikRanjan
 
Nested class
Daman Toor
 
Nested classes in java
ChiradipBhattacharya
 
Inner class
Bansari Shah
 
Inner class
Medivh2011
 
types of classes in java
Nouman Riaz
 
Inner classes or nested classes in Java Program
ssuser5d6130
 
Inner Classes
Hitesh-Java
 
Object oriented programming CLASSES-AND-OBJECTS.pptx
DaveEstonilo
 
Session 21 - Inner Classes
PawanMM
 
Lecture09.ppt
hemanth248901
 
Classes in Java great learning.pdf
SHASHIKANT346021
 
CS244 _Lec8_Generics_innerclasses_Lambda.pptx
NadeemEzat
 
Java Inner Classes
Soba Arjun
 
Class method object
Minal Maniar
 
Static Members-Java.pptx
ADDAGIRIVENKATARAVIC
 
ch4 foohggggvvbbhhhhhhhhhbbbbbbbbbbbbp.pdf
bca23189c
 
Inner classes
Icancode
 
Ad

More from parag (18)

ODP
Application Development Using Java - DIYComputerScience Course
parag
 
ODP
Version Control With svn Setting The Stage
parag
 
ODP
Effective exceptions
parag
 
ODP
Data structures
parag
 
ODP
Building Internet Reputation
parag
 
ODP
General method best_practices
parag
 
ODP
Make defensive copies
parag
 
ODP
Check methods params_for_validity
parag
 
ODP
Double checkedlockingjavasingletons
parag
 
ODP
Uml
parag
 
PDF
Internet And New Media For Teaching
parag
 
ODP
Java Collections
parag
 
ODP
Blogging and The Learning Professional
parag
 
PPT
Interfaces In Java
parag
 
ODP
Multithreading In Java
parag
 
ODP
IO In Java
parag
 
ODP
Exception Handling In Java
parag
 
PPT
Goals Of Software Design - The main goals
parag
 
Application Development Using Java - DIYComputerScience Course
parag
 
Version Control With svn Setting The Stage
parag
 
Effective exceptions
parag
 
Data structures
parag
 
Building Internet Reputation
parag
 
General method best_practices
parag
 
Make defensive copies
parag
 
Check methods params_for_validity
parag
 
Double checkedlockingjavasingletons
parag
 
Uml
parag
 
Internet And New Media For Teaching
parag
 
Java Collections
parag
 
Blogging and The Learning Professional
parag
 
Interfaces In Java
parag
 
Multithreading In Java
parag
 
IO In Java
parag
 
Exception Handling In Java
parag
 
Goals Of Software Design - The main goals
parag
 
Ad

Recently uploaded (20)

PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Complete Network Protection with Real-Time Security
L4RGINDIA
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Complete Network Protection with Real-Time Security
L4RGINDIA
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 

Inner Classes

  • 1. Inner Classes Parag Shah Adaptive Software Solutions
  • 2. Agenda What are inner classes Types of inner classes Uses of inner classes
  • 3. What Are Inner Classes An inner class is a class within a class It has access to certain members of the outer class
  • 4. Introduction To Inner Classes Defining an Inner Class public class Outer { public class Inner { public someMethod() {} } } The inner class has access to members of the enclosing class The inner class can be instantiated by another class through it's enclosing class' reference When to use an inner class See [InnerClassesExample.java]
  • 5. Static Nested Classes Defining an Inner Class public class Outer { public static class Inner { public someMethod() {} } } Can access only static members of the enclosing class Can be instantiated without without a reference to the enclosing class When to use static inner classes
  • 6. Anonymous Inner Classes Anonymous inner classes do not have a name public class SoccerDataBuilder { public List parse() { Parser p = new Parser(); p.parse(new Ignorable() { public boolean isValid() { return true; } ); } }
  • 7. Uses of Anonymous Inner Classes Event handlers for UI events The class' main use is to be represented as the interface it implements Ideally have a few lines of code Callbacks See [AnonymousInnerExample.java]
  • 8. Local Inner Classes Inner classes can be defined in methods Very rarely used
  • 9. Inner Classes And Upcasting An inner class can be upcast into an Interface or a super class This is the primary use in anonymous inner classes
  • 10. Private Inner Classes Inner classes can be private Cannot be instantiated from another class The enclosing class can control their instantiation and return them as an implementing interface See [PrivateInnerClass.java]
  • 11. Accessing The Outer Class An inner class can access any attribute or method in the outer class directly An inner class can produce a reference to the outer class by using OuterClassName.this
  • 12. Summary Creating Inner Classes Types of inner classes Accessing outer class elements from an Inner Class