|
Getting
started with Java™
Understand
what Java is | Understand
the role of the JVM | Understand
the development steps | Which
Tools to use | Understand
how to setup your development environment | Using
the JDK | Use
the command line compiler to compile a Java class| Use
the command line Java interpreter to run a Java application
class | Correctly
set up the CLASSPATH environment variable to allow
the compiler and interpreter to run correctly
Getting Started with the Java™ Language
Write
a class that does not explicitly extend another class | Define
instance fields for a class | Implement
a main method to create an instance of the defined
class | Adding
Methods to the Class | Write
a class with accessor methods to read and write private
instance fields | Write
a constructor to initialize an instance with data | Write
a constructor that calls other constructors of the
class to benefit from code reuse | Use
the this keyword to distinguish local variables from
instance fields | List
the four arithmetic operators
List the three operators to increment and decrement
numbers | List
the six comparison operators | List
the two logical operators | Name
the return type of the comparison and logical operators |
Use one of the increment operators to increment an
integer |
Write a for loop that can iterate a specified number
of times |
Create an instance of the String class |
Test if two String objects are equal |
Test if two String objects are the same object |
Get the length of a String object |
Parse a String object for its token components |
Perform a case-insensitive equality test |
Build up a String object using a StringBuffer object |
Build up a String object using a StringBuilder object |
Understand the difference between the StringBuffer and
StringBuilder |
Convert between String and StringBuffer/StringBuilder
|
Utility Classes |
Convert String representations of primitive numbers
into their corresponding wrapper |
Convert String representations of primitive numbers
into their primitive types |
Appreciate auto unboxing a wrapper to its primitive
type |
Use the Date class to get the current time and date
|
Use the Date class to determine if one Date is earlier
or later than another |
Using Arrays |
Declare an array reference |
Allocate an array |
Initialize the entries in an array |
Appreciate the extended for-loop for iterating over
an array Session: Essential Java™ Programming
Java™ Packages |
Use the package keyword to define a class within
a specific package |
Explain the effects of the four levels of accessibility |
Use the import keyword to declare references
to classes in a specific package |
Use the standard type naming conventions when
creating packages, classes, and methods |
Correctly execute a Java application class that
is defined in a package |
Fields and Variables | Initialize
instance fields to default values |
Distinguish between instance fields and method
variables within a method |
Initialize method variables prior to use |
Explain the difference between the terms field
and variable |
List the default values for instance fields of
type String, int, double, and boolean |
Name the keyword used to create constants in
Java |
Enums, Static Methods and Fields |
Create static fields in a class |
Explain one use of static fields |
Create static methods in a class |
Explain one benefit of static fields |
Understand the concept of a static import |
Appreciate enums |
Explain the syntax used to reference static fields
and methods
Session: Advanced OO Programming
Specializing in a Subclass |
Construct a class that extends another class |
Correctly implement equals and toString |
Write constructors that pass initialization
data to the parent constructor as appropriate
|
Use instanceof to verify the class type of
an object reference |
Override subclass methods and use the super
keyword to leverage behaviors in the parent |
Safely cast references to a more refined
type |
Inheritance and Polymorphism |
Write a subclass with a method that overrides
a method in the superclass |
Group objects by their common supertype |
Utilize polymorphism by correctly invoking
subclass method implementations through superclass
references |
Safely cast a supertype reference to a valid
subtype reference |
Use the final keyword on methods and classes
to prevent overriding through subclassing | Interfaces
and Abstract Classes |
Define supertype contracts using interfaces
|
Define supertype contracts using abstract
classes |
Implement concrete classes using interfaces
|
Implement concrete classes using abstract
classes |
Explain one advantage of interfaces over
abstract classes |
Explain one advantage of abstract classes
over interfaces |
Generics |
Understand what generics are |
Understand how to create generic classes
Understand how te create generic methods
| Understand
generic wildcards
Understand how to use generics
Exceptions
Handling Exceptions |
Define a try/catch block that allows methods
that throw exceptions to be called |
Correctly implement try/catch blocks for
methods which throw multiple exceptions |
Name the exception supertype which is not
checked for by the compiler |
Correctly implement a method which throws
exceptions |
Correctly override a method which throws
exceptions | Throwing
and Developing Exceptions |
Understand how How to throw exceptions |
Define your own application exceptions |
Introduce the assert keyword
Collections
Understand the different types of collections
in the J2SE |
Understand the difference between collection
interfaces and collection implementations |
For each collection type, understand
its usage |
Use ArrayList to maintain a list of
data elements |
Use Iterator to search elements of
a collection |
Use methods of List to access sublists |
Appreciate the extended for-loop for
iterating over a collections |
Appreciate how generics ease the development
of (type-safe) collection |
Sort and shuffle elements in a list |
Create read-only collections from standard |
Write a Comparator to provide custom
sorting |
Create your own collection class
Multithreading
Create and run a threaded class using
both Thread and Runnable |
Explain one advantage of implementing
Runnable over subclassing Thread |
Use thread synchronization to guarantee
data integrity in a multithreaded
application |
Use object synchronization to allow
multiple threads to work cooperatively
on a shared
set of data
Coding Standards
JavaDoc |
Understand how to document your
code |
Understand the different JavaDoc
tags |
create HTML-based Java API documentation |
Jar-files |
Introduce the different types
of jar-files |
Create a jar-file |
Create a Jar-packed application
JavaBeans
Programming JavaBeans | Write
a Java class that provides encapsulation according
to the naming principles
of JavaBeans™ |
Write a Java class that
can register for and receive
events |
Write a Java class that
can manage event listeners
and
send events
to its listeners
Graphical
User Interfaces
Containers and
Layout Managers |
Create a window frame |
Nest panels within a
frame for better layout
control |
Create and display buttons
in a panel |
List two component attributes
that are controlled by
a layout manager |
Set the layout manager
for a container |
Place components in a
panel using BorderLayout,
GridLayout,
and
FlowLayout |
Name one advantage of
each of the layout managers |
Create panels with titles |
Essential graphical components |
Place text fields, text
areas, and buttons in
a graphical
application |
Handle action events
from a button |
Write code within an
event handler to manipulate
the
content of
text fields and text
areas |
Place check boxes, radio
buttons, and combo boxes
in a graphical
application |
Create a combo box consisting
of a list of string elements |
Create radio buttons
in a radio button group |
Create a menu for a frame
containing menu items,
sub-menus, check
boxes, and radio
buttons |
Advanced Layout |
Use GridBagLayout to
create forms with properly
aligning
and resizing
labels,
text fields,
and text areas |
Provide scroll bars for
components |
Add multiple components
to a container, separated
by splitter
bars |
Create tabbed panels
that contain other components
and containers
I/O
Read/Write byte data
into a buffer |
Read/Write character
data to a buffer |
Read/Write objects
to a buffer | Lesson:
File access |
Create a file in the
file system |
Create a directory
in the file system |
List the contents of
a directory |
Read and write text
to a file |
Loading Resource Files |
List two advantages
of using resources
instead
of files |
Write code to use resources
JDBC
Java™ JDBC™ Data Access API |
Connect to a database
using JDBC |
Execute a statement
against a database
that returns
a ResultSet |
Extract multiple
rows of data from
a ResultSet,
where each
column
value is
represented
as a String
Appendix:
Object Oriented
Concepts in Java™
Conventional
vs Object Oriented
Programming |
List the two
features contained
within
an object |
Name the OO component
that provides
the blueprint
for creating
object
instances |
Name the OO component
that provides
behaviors to
an
object |
Name the term
used to expose
the capabilities
of an
object |
Inheritance,
Abstraction,
and Polymorphism |
Provide one
benefit of
encapsulation |
Name an example
of where inheritance
cannot be
used in place
of aggregation,
and
provide one
clear example
showing
this
to fail |
List two reasons
for using inheritance |
Give one example
of a benefit
of using polymorphism
|