Core Java Programming
Course duration: 45 Days, Course Fee: 3500
COURSE CONTENT
Getting Started
- What is Java Technology?
- A simple Java technology application
- Writing, compiling and Execute a Java application
Object-Oriented Programming
- Basic Principles of Object Orientation
- Abstraction
- Encapsulation
- Modularity
- Hierarchy
- Polymorphism and overloading/overriding
- Class, member, attribute, method, constructor, and package
- Access modifiers
- How to invoke a method on an object
- Learning API online documentation
Identifiers, Keywords, and Types
- Comments in a source code
- Valid and invalid identifiers
- Java technology keywords
- Eight primitive types
- Integers (byte, short, int, long)
- Floating-Point Types (float, double)
- Characters
- Booleans
Variables
- Class Variable, instance and local variables
- Declaring a Variable
- Dynamic Initialization
- The Scope and Lifetime of Variables
- Type Conversion and Casting
- Automatic Type Conversions
- Casting Incompatible Types
- Automatic Type Promotion in Expressions
- The Type Promotion Rules
- Primitive variable and reference variable
- Using variables of class type
- Creating object using new keyword
Operators
- Assignment, Arithmetic, and Unary Operators
- Equality, Relational, and Conditional Operators
- Bitwise and Bit Shift Operators
Expressions and Flow Control
- The if-then and if-then-else Statements
- The switch Statement
- The while and do-while Statements
- The for Statement
- The For-Each Loop
- Nested Loops
- Using break, continue, return
- Labeled forms of break and continue
Arrays
- Arrays of primitive, class, or array types
- Array initialization
- Initialization the elements of an array
- Create a multidimensional array
Classes and Objects
- Declaring Classes
- Declaring Member Variables
- Defining Methods, Parameterized Methods
- Returning a Value from a Method
- Constructors, Parameterized Constructors
- Passing Information to a Method or a Constructor
- Overloading Methods, Overloading Constructors
- The this Keyword
- Instance Variable Hiding
- Creating Objects
- Controlling Access to Members of a Class
- Understanding Instance and Class Members
- Static and non-static block
- Introducing Nested and Inner Classes
- Exploring the String Class
- Using Command-Line Arguments
- Varargs: Variable-Length Arguments
- Scoping and Garbage Collection
- Enum Types
Inheritance
- Member Access and Inheritance
- A Superclass Variable Can Reference a Subclass Object
- Using super keyword
- Using super to Call Superclass Constructors
- Method Overriding
- Dynamic Method Dispatch
- Defining an Interface
- Implementing Interfaces
- Nested Interfaces
- Applying Interfaces
- Variables in Interfaces
- Extending an Interfaces
- Using Abstract Classes
- Defining a Package
- Setting CLASSPATH
- Importing Packages
- Up casting and down casting (instance of)
- Final classes, methods, and variables
Generics
- Generic Types
- Generic Methods and Constructors
- Type Inference
- Bounded Type Parameters
- Subtyping
- Wildcards
- Type Erasure
- Using Non-Reifiable Parameters with Varargs Methods
Exceptions and Assertions
- What Is an Exception?
- Catching and Handling Exceptions
- The try Block, The catch Blocks, The finally Block
- Exceptions Thrown by a Method
- How to Throw Exceptions
- Chained Exceptions
- Creating Exception Classes
- Unchecked Exceptions and checked Exception
- Use assertions
- Distinguish appropriate and inappropriate uses of assertions
- Enable assertions at runtime
Basic I/O
- I/O Streams
- Byte Streams
- Character Streams
- Buffered Streams
- Scanning and Formatting
- Data Streams
- Object Streams
File I/O
- What Is a Path?
- The Path Class
- Path Operations
- File Operations
- Checking, Deleting, Copying, Moving a File or Directory
- Managing File Directory Metadata
- Reading, Writing, and Creating Files
- Random Access Files
- Creating and Reading Directories
- Walking the File Tree
- Searching Files
- Watching a Directory for Changes
- Legacy File I/O Code
Multithreaded Programming
- Creating a Thread
- Implementing Runnable
- Extending Thread
- Creating Multiple Threads
- Using isAlive( ) and join( )
- Thread Priorities
- Synchronization
- Using Synchronized Methods
- The synchronized Statement
- Inter-thread Communication
- Deadlock
- Suspending, Resuming, and Stopping Threads