Java Topics
You may have one 8.5 x 11 inch page of notes marked any way you want (as long as you can read them unaided or with your normal prescription eyewear).
Object Oriented Programming
What basic 3 things make OOP powerful and popular?
What is a class? What is an object? How are the two related?
Are primitive types objects in Java?
What is the difference between == and .equals( ) ?
What does it mean to overload a method or constructor?
How do you override a method? How do you get to the superclass’ implementation?
What is polymorphism? Why do we want to represent objects as simpler types than they actually are?
What is an abstract class? What is an interface? What is the difference between the two? When would you use one versus the other?
What is message passing? How does message passing protect an object and provide encapsulation?
Where can you see variables marked
public
protected
default (no modifier used)
private
How is the final keyword used? What does it mean for a class to be final? A method? A variable?
Inner Classes & Listeners
What is a nested class? What is the difference between a static and a non-static nested class?
How do you create an instance of a static nested class?
How do you create an instance of a non-static nested class from within the enclosing class? From outside the enclosing class?
What scope may an inner (or non-static nested) class have?
How do you declare an anonymous class? May anonymous classes extend other classes or implement interfaces?
What makes up the state data of inner classes declared at different scopes?
Describe the “Listener” pattern of events used by Java?
Why are inner classes often used to implement listeners? How is this an improvement over directly implementing the listener interface in top-level class?
How do adapter classes simplify implementing listener interfaces?
Strings, Text, and Regular Expressions
Why is it significant that Strings are immutable?
How can String literals be used in source code?
What is the String pool? What are two ways it is accessed or used?
How can Strings be compared?
What are some common operations on Strings?
What is the difference between a String, a StringBuilder, and a StringBuffer?
What is the scanner class used for?
Describe how printf is used to provide formatted output. Recognize and be able use formatting parameters (limited to: %b, %c, %d, %f, %s) in format strings HoHohhhsdfsflksafjklHHow.
Be familiar with the following regular expression character classes: .(dot) \s \S \w \W \d \D
Be familiar with the following regular expression multiplicity operators: * + ?
How do you define your own character classes? How do you use the ^ and && symbols when doing this?
How is the alternation (|) operator used in regular expressions?
How are regular expression groups defined and used? How does the non-capture group symbol (?:) affect retrieving captured data? How can you get at captured data?
How are the Pattern and Matcher classes used to parse text? How can the Scanner class use regular expressions to read text?
JavaBeans
What are they? How are they used?
What must a bean have/do?
Bean Properties (Bound and Unbound)
Bean Events (including custom events)
Generics
What is a type parameter?
What does “type erasure” mean?
What is a “raw” type?
What are bounded type paramters?
Polymorphism and generics
Using wildcards, bounding wildcards, what kinds of operations are safe.
Generic methods
Collections
What is provided by the Java Collections Framework?
Why are there both interfaces and implemented classes in the framework?
What are they basic interface types in the framework? What are their contracts?
Which classes in the framework are inherently thread safe?
Iterable, Iterator, Comparable, Comparator
What does the Collections class provide for you?
Deep vs. Shallow copies
Swing
What are the main differences between Swing and AWT?
How are Swing Components laid out? What properties are used?
What is a Layout Manager? What are the most common ones? How do they work?
What is a ContentPane?
How do common GUI events work?
Button Clicks
List Box Selection
Dialog Boxes
Choosing Files
Threads
What is a process? What is a thread?
How do you start a thread?
Thread class vs. Runnable interface
What are the 4 basic thread states?
How does the thread manager work? What behavior is guaranteed?
Threading methods
stop, suspend, resume, destroy
wait, notify, notifyAll
sleep, interrupt
What are Daemon threads?
How are threads controlled?