title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Object-Oriented Programming with Java
Course Description
Overview
This course is designed to provide students with the knowledge and skills to become productive using object-oriented programming techniques in Java. Students are introduced to the fundamental concepts of object-oriented programming and how they are successfully applied in Java through classroom-based instruction and practical exercises.A student will quickly master the Java programming language and the packages that constitute its rich set of core libraries such as the Collections Framework.
This course can be hosted on a variety of IDEs such as RAD, Eclipse, MyEclipse Blue, Mars and SpringSource Tool Suite (STS). Please let your sales representative know the IDE you are currently using.
This course is one step in the following Learning Journeys:
Objectives
- Explain the fundamental principles of object-orientation
- Productively apply the language fundamentals of Java
- Design and develop “well engineered” Java classes
- Understand the use and implications of class inheritance and composition
- Successfully apply the principles of polymorphism
- Describe the core Java API including I/O and Collections in depth
Audience
- Anyone interested in learning Java
- Programmers
- Technical Managers
- Application Developers
Prerequisites
- Understand the fundamentals of software development in either a procedural or object-oriented language
Topics
- Key Java benefits
- Write-Once Run Anywhere (WORA)
- Compilation to execution
- Portability implications
- Java packages
- Familiar C/C++ syntax
- Rich library support
- Library standards
- Extensive documentation
- JDBC: Java Database Connectivity
- Security
- Internationalization
- Performance
- Java product suite
- Java JDK vs JRE installation
- The installed JDK
- The bin directory
- Running Java
- Creating Java statements
- Structure of Java files
- Simple program with main()
- Java naming conventions
- Java reserved words
- Comments
- Primitive data types
- Integer number types
- Real number types
- Binary Literals
- Char type
- Boolean type
- Creating primitives
- Naming conventions for primitives
- Initializing primitives
- Range of primitive types
- Wrapper classes
- Boxing and unboxing
- Java arrays
- Initializing Arrays
- Arrays and Objects
- Java operators
- Operator precedence
- Branching and looping
- Code blocks
- if else statement
- switch statement
- switch string statement
- while statement
- do-while statement
- for statement
- Enhanced for statement
- break statement
- continue statement
- Use of Object-Oriented programming
- Object-Oriented definitions
- Class definition
- Attributes
- Methods
- An example Class
- Method signatures
- Objects
- Java directory system – packages
- Packages and CLASSPATH
- Classes and files
- Declaring a class
- Classes and packages
- Anatomy of a class
- Adding attributes to a class
- Adding methods to a class
- Method signatures
- Variable argument methods
- Method variables
- Static attributes
- More on visibility
- Declaring constants
- Constructors
- Multiple constructors
- Static methods
- Creating an object
- The process of object construction
- The reference table
- Working with objects
- JAR files
- Packages and JARs
- JARs and namespaces
- Java packages
- Mapping packages to the file system
- The import statement
- Using imported classes
- Namespace clashes
- Implicit imports
- The String class
- Dynamic strings with StringBuffer
- The Math class
- Inheritance
- Inheritance limitations
- Interfaces
- Interface example
- Polymorphism
- Association
- OO Design
- Abstraction
- Generalization and specialization
- Finding classes
- Noun-verb filtering
- Inheritance in Java
- java.lang.Object
- Superclass
- Subclass
- Implications of extends
- Overloading existing methods
- Overriding existing methods
- The super keyword
- Constructors and inheritance
- The protected modifier
- The “is a” relationship
- Abstracted classes
- Abstract classes
- Concrete classes
- Using abstract references
- Building a concrete class
- Casting
- Upcasting
- Downcasting
- Interfaces and abstract classes
- Defining an interface
- Implementing an interface
- Using an interface
- Design implications
- Extending interfaces
- Implementing an interface
- Design issues with interfaces
- Design practices
- Function Interfaces
- Lambda Expressions
- Polymorphism mechanics
- Object creation diagram
- Reference table and polymorphism
- Creating object references
- Upcasting and polymorphism
- What is a Generic?
- Defining Generics
- Generic formal type parameters
- Declaration of Generics
- Generics and sub-typing
- Wildcards
- null as a type
- Bounded wildcards
- Generic methods
- Generics methods vs. sub-typing
- Using Generics with legacy code
- Erase and Transition
- Generic class sharing
- Casting and instanceof with Generics
- Generics as array types
- Class literals as run-time type tokens
- Wildcard capture
- Generic Instance Creation
- Collections
- The Collections framework
- The Collection interface
- The Set collections
- Using a Set
- Important methods of the Set interface
- The Hashset
- The Iterator interface
- Sorted sets
- The List collections
- The Map collections
- Linked collections
- Input and output in Java
- Java.io.*
- Reading lines of text
- Properties file
- Stream hierarchy
- InputStream class
- OutputStream class
- Buffered vs. unbuffered
- File class
- Text files
- Writing to a text file
- java.nio.file package
- Handling exceptions
- Built in exceptions
- Throwing exceptions from main()
- The stack trace
- Working with try / catch
- Multiple catch blocks
- Try-with-resources statement
- Catching Multiple Exception Types and re-throwing Exceptions with Improved Type Checking
- Different types of exceptions
- Runtime problems
- Throwable hierarchy
- Checked and unchecked exceptions
- The finally block
- Throwing multiple exceptions
- Writing custom exceptions
- Dealing with error objects
- Dealing with exceptions locally
- Designing with exceptions
- What is an Annotation
- The reason for Annotations
- Annotations vs Javadoc
- Annotation syntax
- Types of Annotations
- Annotation declarations
- Simple Annotations
- Override Annotation
- Deprecated Annotation
- Suppress Warnings Annotation
- Meta-annotations
- Target meta-annotation
- Retention meta-annotation
- Documented meta-annotation
- Inherited meta-annotation
- Examples of Annotation use
- What is an Enum?
- Enum types
- Extending an Enum
- Enum constructors
- Built-in Enum methods
- Adding fields and methods to Enums
- Enums and Generics
- Enums in switch/case
- When to use Enums
- Goals of JEE systems
- Container-managed systems
- WebSphere JEE containers
- N-tier JEE applications
- Presentation tier
- The WebSphere web container
- HTML
- Serving HTML in WebSphere
- Java Server Pages (JSPs)
- Serving JSP in WebSphere
- Key JSP issues
- Controller/mediator tier
- Servlets
- The role of a Servlet
- Key Servlet issues
- Domain tier
- The EJB container
- The EJB specification
- What is EJB?
- EJB fundamentals
- Overview of EJB container responsibilities
- Entity bean overview
- Session bean overview
- Message bean overview
- EJB deployment description
- EJB summary
- Java Messaging Service (JMS)
- Point to point communication
- Publish-subscribe communications
Related Courses
-
Programming Fundamentals Using Java
EJCJ-380- Duration: 4 Days
- Delivery Format: Classroom Training, Online Training
- Price: 2,340.00 USD
-
Java 8 New Features
EJCJ-590- Duration: 2 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,170.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.
STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration
Purchase Information
title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.