Led by Goslingian Java Design Philosophy Simulacrum

About this course
The core of Java: classes and objects, constructors, encapsulation, inheritance, composition, polymorphism, method overriding, abstract classes, and interfaces. Why Java is object-oriented by design and what that means for how you think about programs.