Java basics - You should be able to: - declare variables of primitive or class types - write assignment statements - use the following control structures: - if (including else, and else if...) - while loop - for loop - You should know the Java primitive types - You should be comfortable with basic java syntax, including the use of characters such as ;(){}[] - You should understand the difference between the way primitive data are passed to a method and the way objects are passed - You should understand the basics of the main method, including runtime parameters -- that is, String[] args -- and how they are used - Arrays [NOTE: WE MAY NOT GET TO THIS] - You should know how to declare an array typed variable, to allocate memory for it, and to initialize it - You should be able to access and set array values - You should know how to determine the maximum number of elements an array can hold and how to keep track of how many elements currently are in an array - You should be able to write a loop to iterate over the elements of an array OOP - You should be familiar with -- be able to define and exemplify -- key concepts, including: - class - object - attribute - method - inheritance - encapsulation - abstraction - polymorphism - You should know the difference between inheritance (IS-A) and composition (HAS-A) OOP in Java - You should be able to - define a class, including one that extends (inherits from) another class - define methods, including constructors - instantiate objects using new() - invoke methods - You should understand method overloading and overriding - You should understand the use of this, this(...), and super(...) - You should know the difference between static variables and methods and non-static variables and methods - You should understand the difference between private and public variables and methods - You should understand abstract classes and methods, specifically why a class or method should be declared abstract [NOTE: WE MAY NOT GET TO THIS] - You should understand interfaces, specifically what is included in an interface definition and what a class must do to implement an interface [NOTE: WE MAY NOT GET TO THIS] - You should be able to write an equals() method for a class... and you should know the difference between == and equals() I will *not* ask you about: - Generic types - Exceptions - Enums (covered in the assigned readings, but I haven't talked about them in class yet) - The String class (beyond simply knowing how to declare a String variable such as: String customer = "Fred"; and knowing that you compare String objects using the equals() method, not ==)