Overview
The Core Java training course helps to understand the concepts of object-oriented programming and how it is implemented in the Java language. With our Core Java online training participants can get familiar with concepts such as inheritance, polymorphism, and abstraction as well as their implementation using class, objects, packages, and wrappers.
Objectives
At the end of Core Java training course, participants will be able to
Understand Java’s importance, uses, strengths and weaknesses
Understand the release cycle and Long Term Support (LTS) releases
Understand Java language basics
Write, compile, and run Java programs
Use the Java shell (JShell – Java 9+) for interactive programming
Understand the Object Model and Object-Oriented Programming
Understand and use classes, inheritance, polymorphism
Create well-designed classes and use them in your Java programs
Use composition and delegation to create objects from other objects
Understand & use packages to organize code
Understand and use Java 9 modules
Understand interfaces, their importance, and their uses
Use interfaces to implement abstraction
Learn good Java coding style
Create well-structured Java programs
Use the core Java libraries (java.lang, java.util)
Understand & use exceptions for error handling
Understand the basics of using JDBC and JPA, and use them to access databases from Java
Use other new features such as type inference
Prerequisites
This Core Java training course can be tailored for audiences ranging from first-time programmers to experienced OO developers seeking to learn Java. Basic programming knowledge is good to have but not mandatory.
Course Outline
- A Simple Java Class
- Java’s “Hello World” Program
- The Java Shell (REPL)
- Language and Platform Features
- The Java Release Cycle
- Program Life Cycle
- The Java SE Development Kit (JDK)
- The Object Model and Object-Oriented Programming
- Classes, References, and Instantiation
- Adding Data to a Class Definition
- Adding Methods (Behavior)
- Accessing data, the “this” variable
- Encapsulation and Access Control, public and private Access
- Constructors and Initialization
- static Members of a Class
- Type Inference (Java 10+)
- Scopes, Blocks, References to Objects
- Type-safe Enums
- Branching: if, if-else, switch
- Iteration: while, do-while, for, break, continue
- String, StringBuffer, StringBuilder
- Arrays, Primitive Arrays, Arrays of Reference Types
- varargs
- LocalDate/LocalTime (Java 8+)
- Package Overview – Using Packages to Organize Code
- import statements
- Creating Packages, package Statement, Required Directory Structure
- Java 9 Module Overview
- Defining Modules, Requires, and Exports
- Module Path and Classpath – Differences and Coexistence
- Using Composition to Deal With Complexity
- Composition/HAS-A, Delegation
- Using Inheritance and Polymorphism to share commonality
- IS-A, extends, Inheriting Features, Overriding Methods, Using Polymorphism
- Class Object
- Abstract Classes
- Using Interfaces to Define Types
- Interfaces and Abstract Classes
- Default Methods and static Methods (Java 8)
- Exceptions and the Exception Hierarchy
- try and catch
- Handling Exceptions
- Program Flow with Exceptions
- The Collections Framework and its API
- Collections and Java Generics
- Collection, Set, List, Map, Iterator
- Autoboxing
- Collections of Object (non-generic)
- Using ArrayList, HashSet, and HashMap
- for-each Loop
- Processing Items With an Iterator
- More About Generics
- JDBC Overview
- JDBC Architecture and API
- Using DriverManager, Connection, Statement, and ResultSet
- JPA Overview
- JPA Architecture and Programming View
- Entity Classes and Annotations
- Mapping an Entity Class
- EntityManagerFactory and EntityManager
- Working with JPA (Find by primary key and inserts)
- Annotations
- Lambda Expressions and Method References (Java 8+)
- Additional Features