Java
Essentials
Static Typing
Objects
Static Methods
Instance Variables and Objects Instantiation
Constructors in Java
Array Instantiation, Arrays of Objects
Class Methods vs. Instance Methods
Static Variables
public static void main(String[ ] args)
Testing
Ad Hoc Testing
JUnit Testing
Intro and interfaces
The Problem
Hypernyms, Hyponyms, and Interface Inheritance
Overriding
Interface Inheritance
Implementation Inheritance
Extends, Casting, Higher Order Functions
Extends
The Object Class
Encapsulation
Type Checking and Casting
Higher Order Functions
Subtype Polymorphism vs. HoFs
Subtype Polymorphism
Libraries, Abstract Classes, Packages
Abstract Data Types (ADTS)
Java Libraries
Abstract classes
Packages
Autoboxing
Industrial Strength Syntax
Autoboxing and Unboxing
Primitive
Class
Widening
Immutability
Generics
Creating Another Generic Class
ArrayMap and Autoboxing Puzzle
Type upper bounds
Lists, Sets, and ArraySet
Lists in Real Java Code
Sets
Throwing Exceptions
Catching Exceptions
Checked vs Unchecked Exceptions

Iteration
Packages
Creating a Package
Default packages
JAR Files
Access Control
Encapsulation, API, ADT
Last updated