Write non-platform dependent Object Oriented applications using both primitive and non-primitive data types such as:
Strings, Arrays, Vectors, Hashtables, ArrayLists, HashMaps etc.
Use variables, data types and operators to handle
logical flow control utilizing if/if else ladders, switch statements,
for loops and while loops.
Write user defined classes and create multiple instances of objects in memory.
Explain class hierarchy and inheritance.
Use I/O (input and output stream classes) to read input and write output as text, data and even complete objects.
Improve the quality and usability of programs through robust exception handling.
Demonstrate encapsulation of methods and data in objects along with the scope and visibility of the data.
Define and use methods with attributes at both class level and instance level.
Use parameters and return types with methods.
Override methods.
Overload methods and constructors.
Define your own abstract interface and demonstrate polymorphism.