Intermediate Java 7 Using Rational Application Developer (RAD) Training in Fall River
| 
                	 We offer private customized training for groups of 3 or more attendees.
                 | ||
| Course Description | ||
| This 5-day course includes a short review of basic Java concepts, and
then moves on to a comprehensive coverage of more advanced topics in
Java and OO programming to provide participants with a strong grounding
in using Java in a sophisticated and productive manner.  This course
goes well beyond the basics of Java and OO programming and covers
important topics such as composition, inheritance, polymorphism,
interfaces and exceptions, which are all key to creating well-structured
OO systems using Java. After coverage of these important areas, it moves
on to more advanced topics such as JDBC and JPA 2 (for database access),
the Java Collections Framework - including the important generics
capabilities, Java I/O, assertions, inner classes, and the reflection
API. Finally it covers useful tools for day-to-day programming such as
ant, maven, JUnit and various logging frameworks.  This course covers
far more than an introductory course, and provides participants with a
comprehensive understanding of how to use Java's advanced capabilities
in a more sophisticated manner. It teaches a number of useful techniques
that enhance productivity and good system design - which Java
programmers may otherwise take years to absorb on their own. 
                        Course Length: 5 Days Course Tuition: $2250 (US) | ||
| Prerequisites | |
| Suitable for programmers with some previous experience in working with Java and Object-Oriented (OO) programming (equivalent to taking our Gentle Java course). | |
| Course Outline | 
| 
	Session 1: Review - Getting Started 
	Writing and Running Java programs 
	Setting up and Using the Development Environment 
	Session 2: Review - Class and Object 
	Creating classes with fields and methods 
	Encapsulation and access protection 
	Constructors 
	Other Capabilities (Static Members, null, final, Wrapper Classes 
	Session 3: Review - Control Flow, String, and Array 
	Flow of Control 
	Strings 
	Arrays 
	Session 4: Review - Packages 
	Using packages to organize code 
	Using import 
	Creating Packages 
	Package Organization and Classpath 
	LABS: 
	Using Packages to Organize Code 
	Session 5: 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 
	LABS: 
	(Optional) Working with Composition 
	Using Inheritance to Specialize Classes 
	Session 6: Interfaces 
	Programming by Contract 
	Using Interfaces to Define Types 
	Interfaces and Polymorphism 
	LABS: 
	Using Interfaces to Remove Implementation Dependencies 
	Session 7: Exceptions and Error Handling 
	Exceptions 
	Exception Hierarchy 
	try and catch 
	Handling Exceptions 
	Program Flow with Exceptions 
	Finally 
	LABS: 
	Handle Exceptions 
	Define Exception Class 
	Session 8: Collections and Generics 
	The Collections Framework 
	Collection Interfaces 
	Collection, Set, List, Map, Iterator 
	Generics  (Java 5) 
	Processing Items With an Iterator 
	for-each Loop (Java 5) 
	Using ArrayList 
	Using HashMap 
	More About Generics (Inheritance, Wildcards, Assignment) 
	LABS:  
	Using Collections 
	Session 9: JDBC and the JPA 
	JDBC Overview and Architecture 
	JDBC Connections, Statements, and Queries 
	Introduction to JPA (Java Persistence API) 
	Object-Relational Mapping (ORM) and JPA Architecture 
	Entity Class Introduction 
	Mapping Entity classes with @Entity, @Id, @Table, and more 
	Persistence Units, persistence.xml, the EntityManager and EntityManagerFactory 
	Using JPA to Work with Persistence Entities 
	JPQL and Querying with JPA 
	LABS:  
	Mapping a Simple Class 
	Using JPA to Access Persistent Entities 
	Inserting, Querying, and Other Capabilities 
	Session 10: Additional Java Features 
	Assertions 
	Type-safe Enums 
	Annotations 
	Session 11: I/O Streams 
	Readers and Writers 
	Filter Streams 
	InputStreams and OutputStreams 
	Converting Between Streams and Readers/Writers 
	New I/O (NIO) APIs 
	LABS: 
	Formatting with Java I/O 
	Session 12: Inner Classes 
	Why Use Inner Classes? 
	Named Inner Classes 
	Static Inner Classes 
	Anonymous Inner Classes 
	LABS: 
	Using Named Inner Classes 
	Using Anonymous Inner Classes 
	Session 13: Reflection 
	The class called Class 
	Finding Fields, Methods, and Constructors 
	Accessing Fields, Invoking Methods 
	Examining Arrays 
	LABS: 
	Examining Objects Using Reflection 
	Accessing Fields and Invoking Methods via Reflection 
	Session 14: Introduction to ant 
	ant Overview, Installing and Running ant 
	Buildfiles, Projects, Targets, Tasks, Properties 
	Creating Build Files 
	Paths(e.g. CLASSPATH, PATH) 
	Resource Collections - FileSets, DirSets, Files, PatternSets 
	LABS:  
	Running ant 
	Creating and Using Buildfiles 
	Using Basic ant Tasks 
	Session 15: maven Overview 
	Introduction and Installation 
	Maven Concepts and the POM (pom.xml> 
	Dependencies and Repositories 
	Using maven to build Java projects 
	LABS:  
	Using maven 
	Session 16: JUnit Basics 
	JUnit Overview, Test Driven Development 
	Tests and Assertions 
	Working With Exceptions 
	LABS: 
	Writing and Running Tests 
	Testing Exceptions 
	Session 17: Organizing Tests with JUnit 
	Writing Fixtures - @Before, @After 
	Test Suites, and Other Capabilities 
	Mock Objects 
	LABS: 
	Using Fixtures 
	Using Suites 
	Session 18: Introduction to Logging and log4j 
	Logging Overview 
	log4j Overview 
	Loggers, Appenders, Layouts 
	Configuring and Using log4j 
	Logger Hierarchy and Logging Levels 
	Working With Appenders 
	Using PatternLayout 
	Other Logging Frameworks (Java Logging, Apache Commons Logging) 
	LABS: 
	Setting Up log4j 
	Using Basic log4j Logging 
	Working With Loggers 
	Working With Appenders 
	Using Layouts | 
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- AI Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Azure Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Data Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- SAS Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
- Fast Track to Java 17 and OO Development 
 8 December, 2025 - 12 December, 2025
- RED HAT ENTERPRISE LINUX SYSTEMS ADMIN I 
 3 November, 2025 - 7 November, 2025
- RHCSA EXAM PREP 
 17 November, 2025 - 21 November, 2025
- ASP.NET Core MVC (VS2022) 
 24 November, 2025 - 25 November, 2025
- VMware vSphere 8.0 Skill Up 
 27 October, 2025 - 31 October, 2025
- See our complete public course listing 
Java Programming Uses & Stats
| Difficulty | Popularity | Year Created1995 | 
| Pros 
	Most Commonly Used:  
	Great Career Choice:  
	Android Apps Development: 
	It Can Run On Any Platform: 
	Great Supporting IDE's: | Cons 
	Uses a Lot of Memory: 
	Difficulty in Learning:  
	Slow Start Up Times: 
	Verbose and Complex Code: 
	Commercial License Cost: | 
| Java Programming Job Market | 
|   Average Salary |   Job Count |   Top Job Locations 
	New York City  | 
| Complimentary Skills to have along with Java Programming - If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally. As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development. Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings... | 






