Introduction to java programming: Chapter 10 - Abstract Classes and Interface's Objectives is to design and use abstract classes; process a calendar using the Calendar and GregorianCalendar classes; declare interfaces to model weak inheritance relationships; define a natural order using the Comparable interface.