Learn your way! Get started

Java SE, Part 2 of 4: Inheritance, Interfaces, and Collections

with expert Gene Van Sant


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 9/16/2010
Level Beginner
Runtime 8h 49m
Closed captioning N/A
Transcript N/A
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

This course introduces the Java programming language and how to develop Java applications using Eclipse. Students learn the syntax of the Java programming language, object-oriented programming using Java, exception handling, generics, collections, and file input/output (I/O) with a focus on many of the common programming Java commands like Arrays, and Inheritance. The course will conclude with Exceptions, Polymorphism, Collections, Generics and other useful Java classes.

Prerequisites

This course is intended for programmers who are interested in adding Java to their skills. The students should be familiar with object-oriented principals and the concept of object-oriented programming.

Learning Paths

This course will help you prepare for the following certifications and exams:
Java SE 5 Programmer
Java SE 7 Programmer I
Java SE 6 Programmer
1Z0-853: Java SE 5 Programmer Certified Professional Exam
1Z0-851: Java SE 6 Programmer, Certified Professional Exam
1Z0-803: Java SE 7 Programmer I

This course is part of the following LearnNowOnline SuccessPaths™:
Java Development

Meet the expert

Gene Van Sant has over two decades of experience as a software/systems implementer and solutions integration architect. He has experience as a contractor and maintains instructor certifications from IBM and others. Gene balances his career between implementing and automating full blown real world solutions and teaching classes/workshops on emerging technologies and products. This allows Gene to gain valuable extensive real world experience while also staying ahead of the wave with cutting-edge expertise.

Course outline



Arrays

Arrays (41:06)
  • Introduction (00:51)
  • Array Overview (06:54)
  • Arrays (00:51)
  • Declaring Arrays (01:23)
  • Populating Arrays (01:12)
  • Accessing Arrays (00:25)
  • Array Length (00:49)
  • Coding Tips:Arrays (01:25)
  • Demo:Arrays (02:54)
  • Array Referances (00:47)
  • Multidimensional Arrays (00:45)
  • Arrays of Arrays (01:18)
  • Demo:Arrays_2D (04:34)
  • Copying Arrays (01:33)
  • For-Each Loop (01:29)
  • Variable Arguments (01:37)
  • Variable Arguments Example (01:26)
  • Demo:Arrays_NewCalls (09:58)
  • Summary (00:47)

Inheritance

Inheritance (24:11)
  • Introduction (00:50)
  • Inheritance Is... (05:46)
  • Inheritance Examples (00:48)
  • Declaring Inheritance (01:36)
  • Inheritance Hierarchy (00:30)
  • Demo:Inheritance (10:12)
  • Access Modifiers Revisited (01:12)
  • Demo:Access Modifiers (03:11)
  • Summary (00:02)
Inherited Members (33:32)
  • Introduction (00:15)
  • Inherited Members (01:03)
  • Instances Of A Subclass (01:17)
  • Example of Inheritance (01:34)
  • Role In Reuse (01:53)
  • The Super Keyword (01:18)
  • Super Keyword Example (00:56)
  • Problems with Constructors (02:37)
  • Limiting Subclasses (01:51)
  • Demo:Final Keyword (07:23)
  • "set" Methods in Constructors (02:51)
  • The Object Class (03:28)
  • Demo:Inheritance (06:22)
  • Summary (00:37)

Overriding Methods

Overriding Methods (33:16)
  • Introduction (01:03)
  • Overriding Methods (03:11)
  • toString() (01:06)
  • toString() in Object (00:59)
  • Overriding toString() (00:30)
  • Demo:Overriding (06:34)
  • Memory review (12:32)
  • Comparing Objects (01:40)
  • Using == vs. equals(..) (01:06)
  • Demo:Primitives & References (04:29)
  • Summary (00:02)
Overriding Equals (29:32)
  • Introduction (00:15)
  • Overriding equals(..) (01:35)
  • Complex Comparisons (01:31)
  • equals(..) Example (02:05)
  • Hashcodes:Overview (05:02)
  • hashCode() (01:12)
  • Demo:Hashcodes (03:12)
  • Overriding hashCode() (01:11)
  • hashCode() Example (00:17)
  • @Override Annotation (01:12)
  • Demo:Equivalency (11:02)
  • Summary (00:53)

Exception Hierarchy

Exceptions (29:58)
  • Introduction (01:07)
  • What is an Exception (02:11)
  • Benefits (01:57)
  • Exception Processing:Overview (04:00)
  • The Exception Class (01:51)
  • How to Work With Exceptions (00:41)
  • Example Exception Handling (00:57)
  • try-catch-finally Statement (01:50)
  • Flow of Program Control (01:01)
  • Demo:Exception Processing (14:16)
  • Summary (00:02)
Exception Hierarchy (35:23)
  • Introduction (00:15)
  • Exception Hierarchy (01:37)
  • Checked Exceptions (01:16)
  • Unchecked Exceptions (01:08)
  • Coding TIps - Exception Types (01:16)
  • Catching Multiple Exceptions (01:48)
  • Specifying Thrown Exceptions (01:04)
  • Rethrowing Exceptions (00:39)
  • Chaining Exceptions (01:06)
  • Creating your Own Exception (01:51)
  • Demo:Exceptions (04:33)
  • Demo:Create your Own Exception (10:12)
  • Assertions (00:52)
  • Assertion Example (00:54)
  • Demo:Assertions (05:28)
  • Summary (01:18)

Interfaces and Polymorphism

Interfaces & Polymorphism (47:00)
  • Introduction (02:09)
  • Casting Objects (02:28)
  • The instanceof Operator (00:31)
  • Abstract Classes (00:40)
  • Abstract Class - An Example (00:49)
  • Demo:Abstract (06:49)
  • Interface (01:44)
  • Interface - An Example (00:53)
  • Comparable Interface (00:27)
  • Comparable Interface Reqs. (01:28)
  • Demo:Comparable Interfaces (06:18)
  • CodingTips (01:09)
  • Overview:Design Specs (04:22)
  • Polymorphism (02:01)
  • Conditions for Polymorphism (01:27)
  • Coding Tips - Polymorphism (01:30)
  • Covariant Return Types (00:34)
  • Overview:Interfaces (09:28)
  • Summary (02:03)

Collections and Generics

Collections & Generics (29:06)
  • Introduction (02:13)
  • What are Collections (01:59)
  • Arrays vs. Collections (02:12)
  • Main Collections Interfaces (01:17)
  • java.util.Collection (00:41)
  • Main Collection Methods (00:40)
  • Sets (02:09)
  • java.util.List (00:45)
  • java.util.Queue (03:11)
  • Generics:Overview (03:40)
  • Generics (02:12)
  • Generics and Collections (00:46)
  • Generic Collection Example (01:31)
  • Collections Implementations (01:53)
  • Demo:Collections (03:47)
  • Summary (00:02)
Collections & Generics 2 (25:08)
  • Introduction (00:15)
  • Iteration on a Collection (02:27)
  • Iterator vs. For-Each Loop (00:36)
  • Demo:Iterator (06:12)
  • Maps (01:17)
  • java.util.Map (01:21)
  • java.util.SortedMap (00:39)
  • Collections Implementations (00:57)
  • Overview:Maps (04:04)
  • Demo:Maps (07:14)
  • Summary (00:02)
Collections & Generics3 (37:20)
  • Introduction (00:15)
  • Collections & Primitive Types (00:59)
  • "Wrapper" Classes (03:00)
  • Autoboxing (01:23)
  • Demo:Autoboxing (20:33)
  • Enumerated Types (09:56)
  • Summary (01:13)

Java Logging

JavaLogging & More (39:53)
  • Introduction (01:07)
  • Java Logging API (02:26)
  • Control Flow of Logging (01:20)
  • Overview:LoggingInteraction (05:32)
  • Logging Levels (02:53)
  • Logging Handlers (00:49)
  • Loggers (00:54)
  • Logging Example (01:06)
  • Demo:Log Statements (05:24)
  • Logging Formatters&Log Manager (01:47)
  • Logging Configuration File (01:38)
  • Ex: Logging Configuration File (02:47)
  • Demo:Logging Configuration (12:01)
  • Summary (00:02)
JavaLogging & More 2 (23:49)
  • Introduction (00:15)
  • Loggin Filters (01:01)
  • java.lang.StringBuilder (01:04)
  • java.util.String.Tokenizer (00:21)
  • java.util.Arrays&Collections (00:47)
  • java.util.Random (00:57)
  • java.util.Date (00:54)
  • GregorianCalendar&Calendar (01:28)
  • Formatting (01:14)
  • Formatting Example (00:53)
  • Overview:Logging (01:04)
  • Demo:Utils (13:06)
  • Summary (00:41)

Input and Output

Input & Output #1 (35:20)
  • Introduction (00:47)
  • Overview of Java Input/Output (02:01)
  • Streams (00:28)
  • Input Stream (03:05)
  • Output Stream (01:10)
  • "Chained" Streams (00:38)
  • The File Class (00:44)
  • Demo:File Object (05:03)
  • RandomAccessFile (00:55)
  • Reader and Writer (01:00)
  • Options for File IO (01:10)
  • Demo:Readers&Writers (18:10)
  • Summary (00:02)
Input & Output #2 (41:34)
  • Introduction (00:15)
  • Buffers (03:58)
  • Channels (00:59)
  • Demo:Accessing File Channels (29:27)
  • Overview:Java RunTime (06:52)
  • Summary (00:02)
Input & Output #3 (23:13)
  • Introduction (00:15)
  • Serialization (00:42)
  • Serializing Object State (01:05)
  • Overview:Composition Reference (02:50)
  • Avoid Serialization Problems (01:29)
  • serialVersionUID (02:34)
  • Demo:Serialization (13:08)
  • Summary (01:08)