Java SE 8 Programming: Encapsulation, Polymorphism, and Abstraction