Beginning Java training course teaches aspiring Java programmers the skills they need to successfully write their first applications in Java.Note: This course is optimized for Java 1.7, 1.8, or later. Earlier versions can be taught on request.
JAVA TRAINING OBJECTIVES
All students will:
- Understand Java’s importance, uses, strengths and weaknesses
- Understand Java language basics
- Write, compile, and run Java programs
- Understand the Object Model and Object Oriented Programming
- 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
- Use packages to organize code
- Understand interfaces, their importance, and their uses
- Use interfaces to implement abstraction
- Learn good Java coding style
- Create well-structured Java programs
- Compile and execute programs with the JDK development tools and with an Integrated Development Environment (IDE) of your choice
- Use the core Java libraries (java.lang, java.util)
- Use exceptions for error handling
- Understand the basics of using JDBC and JPA, and use them to access databases from Java
- Use the Java Collections Framework
- Be aware of, and use the new features of Java 8 (if using Java 1.8 or later), as well as important advanced features of earlier Java versions
- Use basic I/O streams (Optional)
JAVA TRAINING OUTLINE
- Introduction
- A First Look
- A Simple Java Class
- Java’s “Hello World” Program
- Java Basics
- Language and Platform Features
- Program Life Cycle
- The Java SE Development Kit (JDK)
- Working with the Development Environment
- Class and Object Basics
- The Object Model and Object-Oriented Programming
- Classes, References, and Instantiation
- Adding Data to a Class Definition
- Adding Methods (Behavior)
- More on Classes and Objects
- Accessing data, the “this” variable
- Encapsulation and Access Control, public and private Access
- Constructors and Initialization
- static Members of a Class
- Scopes, Blocks, References to Objects
- Flow of Control
- Branching: if, if-else, switch
- Iteration: while, do-while, for, break, continue
- Strings and Arrays
- String, StringBuffer, StringBuilder
- Arrays, Primitive Arrays, Arrays of Reference Types
- Varargs
- Packages
- Package Overview – Using Packages to Organize Code
- import statements
- Creating Packages, package Statement, Required Directory Structure
- Finding Classes, Packages and Classpath
- Composition and Inheritance
- 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
- Interfaces
- Using Interfaces to Define Types
- Interfaces and Abstract Classes
- Default Methods and static Methods (Java 1.8 or later only)
- Using Interfaces to Remove Implementation Dependencies
- Exceptions
- Exceptions and the Exception Hierarchy
- try and catch
- Handling Exceptions
- Program Flow with Exceptions
- Finally
- Java Collections and Generics
- 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
- Database Access with JDBC and JPA
- JDBC Overview
- JPA Overview
- Additional Java Features
- Assertions
- Type-safe Enums
- Annotations
- Lambda Expressions and Method References (Java 1.8 or later only)
- Additional Features
- I/O Streams (Optional)
- Readers and Writers
- Filter Streams
- Byte Streams
- Formatted Output
- New I/O (NIO) APIs
- Conclusion
Beginning Java Application Development (JavaSE)