SlideShare una empresa de Scribd logo
1 de 24
Advanced Class Features
Objectives
 Describe static variables, methods and
initializers
 Describe final classes, methods and variables
 Abstract classes and methods
 Inner classes
 Static and non-static inner classes
 interface
The static Keyword
 The static keyword is used as a modifier on
variables and inner classes
 The static keyword declares the attribute or
method is associated with the class as a
whole rather than any particular instance of
that class
 Thus static members are often called as
“class members”
Class Attributes
 Are shared among all instances of a class
public class Count{
private int serialNumber;
public static int counter=0;
public static int getTotalCount(){
return counter;
}
public Count(){
counter++;
serialNumber=counter;
}
}
The static Keyword
 Static method cannot use “this”
 They cannot access any non-static fields
 A static method cannot be overridden
Static Initializers
 A class can contain code in a static block that does
not exist within a method body
 Static code block executes only once when the class
is loaded
 A static block is used to initialize static attributes
public class Count{
public static int counter;
static{
counter=Integer.getInteger(“myCounter”).intValue();
}
}
//use java –DmyCounter=45 Test to execute
The final Keyword
 You cannot subclass a final class
 You cannot override a final method
 A final variable is a constant
 A final variable can only be set once, but that
assignment can occur independently of the
declaration;
 A blank final instance attribute must be set in every
constructor
 A blank final method variable must be set in the method
body before being used
Abstract Classes
 Any class with one or more abstract methods
is called an abstract class
 Abstract class can’t be instantiated
 Abstract classes may have data attributes,
concrete methods and constructors
 It is a good practice to make the constructors
protected
Interfaces
 A public interface is a contract between client code
and the class that implements that interface
 A java interface is a formal declaration of such a
contract in which all methods contain no
implementation
 Many unrelated classes can implement the same
interface
 A class can implement many, unrelated interfaces
Uses of Interfaces
 Declaring methods that one or more classes are
expected to implement
 Determining an object’s programming interface
without revealing the actual body of the class
 Capturing similarities between unrelated classes
without forcing a class relationship
 Simulating multiple inheritance by declaring a class
that implements several interfaces
Inner classes
 Allow a class defintion to be placed inside
another class definition
 Group classes that logically belong together
 Have access to their enclosing class’s scope
Properties of Inner classes
 You can use the class name only within the
defined scope except when used in a
qualified name. The name of the inner class
must differ from the enclosing class
 The inner class can be defined inside a
method. Only local variables marked as final,
can be accessed by methods within an inner
class
Properties of Inner Classes
 The inner class can use both class and
instance variables of enclosing classes and
local variables of enclosing blocks
 The inner class can be defined as abstract
 The inner class can have any access mode
 The inner class can act as an interface
implemented by another inner class
Properties of Inner Classes
 Inner classes that are declared static
automatically become top-level classes
 Inner classes cannot declare any static
members
 An inner class wanting to use a static
member must be declared static
Exceptions
Objectives
 Define Exceptions
 Use try, catch, and finally statements
 Describe exception categories
 Identify common exceptions
 Develop programs to handle your own
exceptions
Exceptions
 The Exception class defines error conditions that
your program encounters
 Exception can occur when
 The file you try to open does not exist
 The network connection is disrupted
 Operands being manipulated are out of prescribed ranges
 The class file you are interested in loading is missing
 An error class defines serious (fatal) error
conditions
try and catch statements
try{
//code that might throw a particular exception
}catch(MyException myExcept){
//code to execute if a MyExceptiontype is thrown
}
catch(Exception otherExcept){
//Code to execute if a general Exception is
//thrown
}
Call Stack Mechanism
 If an exception is not handled in the current
try-catch block, it is thrown to the caller of
that method
 If the exception gets back to the main
method and is not handled there, the program
is terminated abnormally
finally statement
try{
startFaucet();
waterLawn();
}catch(BrokenPipeException e){
logProblem(e);
}finally{
stopFaucet();
}
Exception Categories
StackO verflow E rror O utO fM em oryError
V irtualM achineError AW T E rror
Error
Arithm eticE xception N ullPointerE xception IndexO utO fB oundsE xception
R untim eException
E O FException FileN otFoundE xception
IO Exception
E xception
T hrow able
Common Exceptions
 ArithmeticException
 NullPointerException
 NegativeArraySizeException
 ArrayIndexOutOfBoundsException
 SecurityException
The Handle or Declare Rule
 Handle the Exception by using the try-catch-finally
block
 Declare that the code causes an exception by using
the throws clause
 A method may declare that it throws more than one
exception
 You do not need to handle or declare run-time
exceptions or errors
Method Overriding and Exceptions
 Must throw exceptions that are the same class as the
exceptions being thrown by the overridden method
 May throw exceptions that are subclasses of the
exceptions being thrown by the overridden method
 If a superclass method throws multiple exceptions,
the overriding method must throw a proper subset
of exceptions thrown by the overridden method

Más contenido relacionado

La actualidad más candente

Unit 4 exceptions and threads
Unit 4 exceptions and threadsUnit 4 exceptions and threads
Unit 4 exceptions and threadsDevaKumari Vijay
 
Java questions for viva
Java questions for vivaJava questions for viva
Java questions for vivaVipul Naik
 
Complete java&j2ee
Complete java&j2eeComplete java&j2ee
Complete java&j2eeShiva Cse
 
OCA Java SE 8 Exam Chapter 4 Methods Encapsulation
OCA Java SE 8 Exam Chapter 4 Methods EncapsulationOCA Java SE 8 Exam Chapter 4 Methods Encapsulation
OCA Java SE 8 Exam Chapter 4 Methods Encapsulationİbrahim Kürce
 
Std 12 computer chapter 8 classes and object in java (part 2)
Std 12 computer chapter 8 classes and object in java (part 2)Std 12 computer chapter 8 classes and object in java (part 2)
Std 12 computer chapter 8 classes and object in java (part 2)Nuzhat Memon
 
9781439035665 ppt ch10
9781439035665 ppt ch109781439035665 ppt ch10
9781439035665 ppt ch10Terry Yoast
 
Basic java important interview questions and answers to secure a job
Basic java important interview questions and answers to secure a jobBasic java important interview questions and answers to secure a job
Basic java important interview questions and answers to secure a jobGaruda Trainings
 
Inner Classes
Inner ClassesInner Classes
Inner Classesparag
 

La actualidad más candente (20)

Unit 4 exceptions and threads
Unit 4 exceptions and threadsUnit 4 exceptions and threads
Unit 4 exceptions and threads
 
Unit 4 Java
Unit 4 JavaUnit 4 Java
Unit 4 Java
 
Inner classes in java
Inner classes in javaInner classes in java
Inner classes in java
 
Java questions for viva
Java questions for vivaJava questions for viva
Java questions for viva
 
Complete java&j2ee
Complete java&j2eeComplete java&j2ee
Complete java&j2ee
 
Java
JavaJava
Java
 
Java training
Java trainingJava training
Java training
 
Unit3 part1-class
Unit3 part1-classUnit3 part1-class
Unit3 part1-class
 
C# Access modifiers
C# Access modifiersC# Access modifiers
C# Access modifiers
 
Interfaces in java
Interfaces in javaInterfaces in java
Interfaces in java
 
OCA Java SE 8 Exam Chapter 4 Methods Encapsulation
OCA Java SE 8 Exam Chapter 4 Methods EncapsulationOCA Java SE 8 Exam Chapter 4 Methods Encapsulation
OCA Java SE 8 Exam Chapter 4 Methods Encapsulation
 
[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers
 
Non access modifiers
Non access modifiersNon access modifiers
Non access modifiers
 
Suga java training_with_footer
Suga java training_with_footerSuga java training_with_footer
Suga java training_with_footer
 
Std 12 computer chapter 8 classes and object in java (part 2)
Std 12 computer chapter 8 classes and object in java (part 2)Std 12 computer chapter 8 classes and object in java (part 2)
Std 12 computer chapter 8 classes and object in java (part 2)
 
9781439035665 ppt ch10
9781439035665 ppt ch109781439035665 ppt ch10
9781439035665 ppt ch10
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Basic java important interview questions and answers to secure a job
Basic java important interview questions and answers to secure a jobBasic java important interview questions and answers to secure a job
Basic java important interview questions and answers to secure a job
 
Chap11
Chap11Chap11
Chap11
 
Inner Classes
Inner ClassesInner Classes
Inner Classes
 

Similar a java tutorial 4

Similar a java tutorial 4 (20)

Java Core Parctical
Java Core ParcticalJava Core Parctical
Java Core Parctical
 
Java Core
Java CoreJava Core
Java Core
 
Evolution of c# - by K.Jegan
Evolution of c# - by K.JeganEvolution of c# - by K.Jegan
Evolution of c# - by K.Jegan
 
Java/J2EE interview Qestions
Java/J2EE interview QestionsJava/J2EE interview Qestions
Java/J2EE interview Qestions
 
Nested class in java
Nested class in javaNested class in java
Nested class in java
 
LectureNotes-02-DSA
LectureNotes-02-DSALectureNotes-02-DSA
LectureNotes-02-DSA
 
Core java questions
Core java questionsCore java questions
Core java questions
 
this keyword in Java.pdf
this keyword in Java.pdfthis keyword in Java.pdf
this keyword in Java.pdf
 
Java scjp-part1
Java scjp-part1Java scjp-part1
Java scjp-part1
 
Java interfaces & abstract classes
Java interfaces & abstract classesJava interfaces & abstract classes
Java interfaces & abstract classes
 
Abstraction in Java: Abstract class and Interfaces
Abstraction in  Java: Abstract class and InterfacesAbstraction in  Java: Abstract class and Interfaces
Abstraction in Java: Abstract class and Interfaces
 
Generics and collections in Java
Generics and collections in JavaGenerics and collections in Java
Generics and collections in Java
 
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptxSodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
 
C# interview quesions
C# interview quesionsC# interview quesions
C# interview quesions
 
this keyword in Java.pptx
this keyword in Java.pptxthis keyword in Java.pptx
this keyword in Java.pptx
 
Lecture 8 Library classes
Lecture 8 Library classesLecture 8 Library classes
Lecture 8 Library classes
 
Android Training (Java Review)
Android Training (Java Review)Android Training (Java Review)
Android Training (Java Review)
 
Java basics
Java basicsJava basics
Java basics
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
The smartpath information systems java
The smartpath information systems javaThe smartpath information systems java
The smartpath information systems java
 

Más de Tushar Desarda

Más de Tushar Desarda (6)

java tutorial 3
 java tutorial 3 java tutorial 3
java tutorial 3
 
java tutorial 2
 java tutorial 2 java tutorial 2
java tutorial 2
 
Java Tutorial 1
Java Tutorial 1Java Tutorial 1
Java Tutorial 1
 
Database management system
Database management systemDatabase management system
Database management system
 
A database introduction
A database introductionA database introduction
A database introduction
 
C data_structures
C  data_structuresC  data_structures
C data_structures
 

Último

Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxUmeshTimilsina1
 

Último (20)

Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 

java tutorial 4

  • 2. Objectives  Describe static variables, methods and initializers  Describe final classes, methods and variables  Abstract classes and methods  Inner classes  Static and non-static inner classes  interface
  • 3. The static Keyword  The static keyword is used as a modifier on variables and inner classes  The static keyword declares the attribute or method is associated with the class as a whole rather than any particular instance of that class  Thus static members are often called as “class members”
  • 4. Class Attributes  Are shared among all instances of a class public class Count{ private int serialNumber; public static int counter=0; public static int getTotalCount(){ return counter; } public Count(){ counter++; serialNumber=counter; } }
  • 5. The static Keyword  Static method cannot use “this”  They cannot access any non-static fields  A static method cannot be overridden
  • 6. Static Initializers  A class can contain code in a static block that does not exist within a method body  Static code block executes only once when the class is loaded  A static block is used to initialize static attributes public class Count{ public static int counter; static{ counter=Integer.getInteger(“myCounter”).intValue(); } } //use java –DmyCounter=45 Test to execute
  • 7. The final Keyword  You cannot subclass a final class  You cannot override a final method  A final variable is a constant  A final variable can only be set once, but that assignment can occur independently of the declaration;  A blank final instance attribute must be set in every constructor  A blank final method variable must be set in the method body before being used
  • 8. Abstract Classes  Any class with one or more abstract methods is called an abstract class  Abstract class can’t be instantiated  Abstract classes may have data attributes, concrete methods and constructors  It is a good practice to make the constructors protected
  • 9. Interfaces  A public interface is a contract between client code and the class that implements that interface  A java interface is a formal declaration of such a contract in which all methods contain no implementation  Many unrelated classes can implement the same interface  A class can implement many, unrelated interfaces
  • 10. Uses of Interfaces  Declaring methods that one or more classes are expected to implement  Determining an object’s programming interface without revealing the actual body of the class  Capturing similarities between unrelated classes without forcing a class relationship  Simulating multiple inheritance by declaring a class that implements several interfaces
  • 11. Inner classes  Allow a class defintion to be placed inside another class definition  Group classes that logically belong together  Have access to their enclosing class’s scope
  • 12. Properties of Inner classes  You can use the class name only within the defined scope except when used in a qualified name. The name of the inner class must differ from the enclosing class  The inner class can be defined inside a method. Only local variables marked as final, can be accessed by methods within an inner class
  • 13. Properties of Inner Classes  The inner class can use both class and instance variables of enclosing classes and local variables of enclosing blocks  The inner class can be defined as abstract  The inner class can have any access mode  The inner class can act as an interface implemented by another inner class
  • 14. Properties of Inner Classes  Inner classes that are declared static automatically become top-level classes  Inner classes cannot declare any static members  An inner class wanting to use a static member must be declared static
  • 16. Objectives  Define Exceptions  Use try, catch, and finally statements  Describe exception categories  Identify common exceptions  Develop programs to handle your own exceptions
  • 17. Exceptions  The Exception class defines error conditions that your program encounters  Exception can occur when  The file you try to open does not exist  The network connection is disrupted  Operands being manipulated are out of prescribed ranges  The class file you are interested in loading is missing  An error class defines serious (fatal) error conditions
  • 18. try and catch statements try{ //code that might throw a particular exception }catch(MyException myExcept){ //code to execute if a MyExceptiontype is thrown } catch(Exception otherExcept){ //Code to execute if a general Exception is //thrown }
  • 19. Call Stack Mechanism  If an exception is not handled in the current try-catch block, it is thrown to the caller of that method  If the exception gets back to the main method and is not handled there, the program is terminated abnormally
  • 21. Exception Categories StackO verflow E rror O utO fM em oryError V irtualM achineError AW T E rror Error Arithm eticE xception N ullPointerE xception IndexO utO fB oundsE xception R untim eException E O FException FileN otFoundE xception IO Exception E xception T hrow able
  • 22. Common Exceptions  ArithmeticException  NullPointerException  NegativeArraySizeException  ArrayIndexOutOfBoundsException  SecurityException
  • 23. The Handle or Declare Rule  Handle the Exception by using the try-catch-finally block  Declare that the code causes an exception by using the throws clause  A method may declare that it throws more than one exception  You do not need to handle or declare run-time exceptions or errors
  • 24. Method Overriding and Exceptions  Must throw exceptions that are the same class as the exceptions being thrown by the overridden method  May throw exceptions that are subclasses of the exceptions being thrown by the overridden method  If a superclass method throws multiple exceptions, the overriding method must throw a proper subset of exceptions thrown by the overridden method