Object-Oriented Programming Concepts II

UNIT ID :  H7E0 04

Content

Total Hours

1. Java Components

1.1. Blocks

1.1.1. static initialization block

1.1.2. instance initialization block

1.2. Enums

1.2.1. Declaring enums and Use enums

1.2.2. Constructors, Methods, and Variables in an enum

1.3. Advanced Overloading and Var –args

1.3.1. Overloading with Var-args

1.3.2. Overloading with Widening and Boxing

1.3.3. Widening Reference Variables

12

2. Exception Handling

2.1. Introduction to exception handling

2.2. Catching an Exception

2.2.1. try ,catch and finally blocks

2.2.2. Behavior of Uncaught Exception

2.3. Throwing exceptions and throws clause

2.4. Defining Exceptions

2.4.1. Exception Hierarchy

2.4.2. Handling hierarchical exceptions

2.5. Declares methods and overriding methods that throw Exceptions.

2.6. Runtime exceptions, checked exceptions and errors.

2.7. Common Exceptions and Errors

2.8. Assertion Mechanism

2.8.1. Introduction to Assertions

2.7.2. Enabling Assertions

2.7.3. Appropriate use of assertions

13

3. Wrapper Classes and AutoBoxing

3.1. Introduction to Wrapper Classes

3.2. Wrapper Objects

3.3. Wrapper Conversion Utilities

3.4. AutoBoxing

7

Content

Total Hours

4. Threads

4.1. Defining, Instantiating, and Starting Threads

4.2. Thread States and Transitions

4.2.1. Thread States

4.2.2. Preventing Thread Execution

4.2.3. Sleeping

4.2.4. Synchronizing Code,

4.2.5. Thread Priorities and yield( )

4.2.6. Synchronization and Locks

4.2.7. Thread Deadlock

4.3. Thread Interaction

4.3.1. Using notifyAll( ) , notify(), wait()

19

5. Strings, I/O, Formatting, and Parsing

5.1. String, StringBuilder, and StringBuffer

5.1.1. String Class

5.1.1.1. Strings and Memory

5.1.1.2. Methods in the String Class

5.2. StringBuffer

5.2.1.1. Methods in the String Class

5.3. StringBuilder

5.3.1.1. Methods in the String Class

5.4. File Navigation and I/O

5.4.1. The java.io.Console Class

5.4.1.1. Serialization

5.4.1.2. Dates, Numbers, and Currency

5.5. Parsing, Tokenizing, and Formatting

5.5.1. A Search Tutorial

5.5.2. Locating Data via Pattern Matching

5.5.3. Tokenizing

5.5.4. Formatting with printf() and format()

25

Content

Total Hours

6. Generics and Collections

6.1 Collections

6.1.1. Overriding hashCode() ,equals()

6.1.2. Collections

6.1.3. Introduction to Collections

6.1.4. Set Interface and using Sets

6.1.5. Map Interface and using Maps

6.1.6. List Interface and using Lists

6.1.7. Queue Interface

6.1.8. using PriorityQueue Class

6.1.9. AutoBoxing with Collections

6.1.10. Sorting Collections and Arrays

6.1.11. java.util. Arrays class

6.1.12. java.util. Collections class

6.1.13. Sorting Collections

6.1.14. The Comparable Interface

6.1.15. Sorting with Comparator

6.1.16. Sorting with the Arrays Class

6.1.17. Searching Arrays and Collections

6.1.18. Converting Arrays to Lists to Arrays

6.2. Generics

6.2.1 How to use type parameters ( class/interface declarations, instance variables, method arguments, return types)

6.2.2 write Generic Methods

6.2.3 generic versions of the Collections API(Set , List Map interfaces and implementation classes )

6.2.4 Limitations of the non-generic collections

6.3. Combining Generic and Non-Generic Collections

25

7. Inner Classes

7.1 Regular Inner classes

7.2 Method-Local Inner Classes

7.3 Anonymous Inner Classes

7.4 Static Nested Classes

12

8. Development

8.1. javac and java Commands

8.2. JAR Files

8.3. Static Imports

7