When does class start/end?
Classes begin promptly at 9:00 am, and typically end at 5:00 pm.
This 5-day Java 7 & Patterns Foundations course is written specifically for programmers coming from other languages such as C++, C#, .NET, C, Delphi, etc. and who would like to get up to speed quickly with Java so that they would be ready to learn Spring. It is a first-step course to take before you would study the excellent Spring Core course.
We start with a basic introduction to Java, the principles that it uses. We look at object oriented fundamentals that a programmer would need to understand in order to use Java. We then introduce some concepts of refactoring, design patterns and unit testing. We end with a short history lesson of where Java has come from and where it is headed.
In Java, everything is an object. We study how object references work (ordinary pointers) and how we can use primitives for our class elements and local variables. We show how we can build basic classes in Java and use access specifiers to protect sensitive data. We learn what an array is. Lastly we learn how to document our code.
This chapter studies basic programming constructs that we use in Java, such as if-else statements, loops, switch statements and comparisons. We also learn about the equals() method and why this is important in Java. We demonstrate how we can switch on Strings in Java 7.
We learn how we can initialize objects correctly and what the difference between fields and local variables are. We do a very brief overview of how the garbage collector works to show how we can avoid some of the pitfalls. We then study method overloading, the "this" keyword and how variable argument lists work in Java.
In Java we want to protect our implementation using encapsulation. In this chapter we learn how we can do that and how we can package our components.
We see ways in which we can reuse existing classes through composition and inheritance. We also learn about the final keyword and how this can help us write more reliable code. Lastly we look at when classes are loaded in Java.
One of our most powerful weapons in producing object-oriented code is polymorphism. In this chapter we see what this is and how it works in Java. We also learn the abstract keyword and see how we can override methods.
Usually we specify our libraries with interfaces. Java supports this with the interface, which is like an abstract class with only abstract methods. We then get introduced to inner classes. We also look at the traditional approach of using interfaces to define constants and the better static import mechanism of Java 5. We study anonymous inner classes and as an example get introduced to the Null Object Pattern, which we use to avoid null pointer exceptions in Java.
Java allows us to define enumerated types when we use constants. In this chapter we look at different ways in which we can define enums, either with data or as simple types. We also show how we can switch on enums.
We look at the most useful collections in Java: ArrayList, LinkedList and HashMap and how we should use them. We then look at how iterators work and how we can write good hashing functions in our key objects. We see a brief introduction to generics.
Generics are now covered in a bit more detail to allow us to understand what the compiler is looking for when we see an error message.
Exception handling is built into Java from the start. We learn the difference between checked and unchecked exceptions. We also see three new Java 7 exception handling constructs: try-with-resource, handling several different exceptions and the final rethrow.
We show a basic overview of how runtime type identification works in Java, specifically how downcasting and instanceof are used.
Java 5 introduced the concept of annotations, which allows us to mark up our classes with special commands that can be used at compile-time and run-time to control how frameworks use our classes.
In the first section, we lay the foundation for the rest of the course. We talk about why patterns are important, where they come from, their general structure and give a UML refresher.
Our first stop is structural patterns, since most of us can relate to these easily.
Our next set of patterns are used for algorithms and behavior. They help to reduce duplicate code and get rid of if-else and switch statements. Code becomes less complex with less duplication, leading to lower costs.
Creational patterns are the most tricky to get right. They are frequently abused for building systems that are non object oriented. In this section we look at the most common creational patterns and show how they should be used.
In the second set of behavior patterns, we learn how to decouple our designs even further with the Command. We show how to build chains of implementers with the Chain of Responsibility.
We end our course with a structural pattern that is fairly easy to grasp. The decorator allows us to change the interface of an object dynamically.
The course ends with a conclusion about what we have learned and where to study them further. We also look at how the patterns are all connected.
Classes begin promptly at 9:00 am, and typically end at 5:00 pm.
Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.
If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.
Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.
GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.
We have training locations across the United States and Canada. View a full list of classroom training locations.
Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.
Yes, we provide training for groups, individuals, and private on sites. View our group training page for more information.
Fantastic and great training. Tons of hands-on labs to really make you understand the material being thought.
The tool provided to practice the course teachings is very functional and easy to use.
Concise and good to follow along. Although it is a lot to take in under a short period of time.
The technical data in the AWS Solutions Architect course was very thorough.
Thank you for training on AWS development. Course was good and encouraging but labs need to be improved and provide more information and ask students to more work than provide solutions.
0 options available