The third week of this course extends what you already know. You could quit at this point and develop functional programs, but you would be missing some of the advanced features that express the real strengths of the language.
Today, you'll extend your knowledge of classes and how they interact with other classes in a Java program. The following subjects will be covered:
Controlling access to methods and variables from outside a class
Finalizing classes, methods, and variables so their values or definitions cannot be subclasses or cannot be overridden
Creating abstract classes and methods for factoring common behavior into superclasses
Grouping classes into packages
Using interfaces to ...