|
Testing objectives for the Programmer for
Java 2 Platform:
1. DECLARATIONS AND ACCESS
CONTROL
-
Write code that declares,
constructs, and initializes arrays of any base type using
any of the permitted forms both for declaration and for
initialization
-
Declare classes, inner classes, methods,
instance variables, static variables, and automatic (method
local) variables making appropriate use of all permitted
modifiers (such as public, final, static,
abstract,and so forth)
-
State the significance
of each of these modifiers both singly and in combination, and state the
effect of package relationships
on declared items qualified by these modifiers
-
For a given class, determine if a
default constructor will be created, and if so, state the
prototype of that
constructor
-
State the legal return
types for any method given the declarations of all related methods in this or
parent classes
2. FLOW CONTROL AND EXCEPTION HANDLING
-
Write code using if and
switch statements and identify legal argument types for these
statements
-
Write code using all
forms of loops including labeled and unlabeled use of break and continue, and
state the values taken by loop control variables during and after loop
execution
-
Write code that makes
proper use of exceptions and exception handling clauses (try, catch, finally)
and declares methods and overriding methods that throw
exceptions
3.
GARBAGE COLLECTION
4. LANGUAGE FUNDAMENTALS
-
Identify correctly constructed source
files, package declarations, import statements, class
declarations (of all forms including inner classes),
interface declarations and implementations (for java.lang.Runnable or
other interface described in the test), method declarations (including the
main method that is used to start execution of a class), variable declarations
and identifiers
-
State the correspondence between index
values in the argument array passed to a main method and
command
line arguments
-
Identify all Java
programming language keywords and correctly constructed
identifiers
-
State the effect of using a variable or
array element of any kind when no explicit assignment has
been made
to it
-
State the range of all
primitive data types and declare literal values for String and all primitive
types using all permitted formats, bases, and
representations
5.
OPERATORS AND ASSIGNMENTS
-
Determine the result of
applying any operator, including assignment operators, instance of, and casts
to operands of any type, class, scope, or accessibility, or any combination of
these
-
Determine the result of applying the
boolean equals (Object) method to objects of any combination
of the classes java.lang.String,
java.lang.Boolean, and java.lang.Object
-
In an expression
involving the operators &, |, &&, ||, and variables of known
values, state which operands are evaluated and the value of the
expression
-
Determine the effect
upon objects and primitive values of passing variables into methods and
performing assignments or other modifying operations in that
method
6.
OVERLOADING, OVERRIDING, RUNTIME TYPE, AND OBJECT
ORIENTATION
-
State the benefits of encapsulation in
object oriented design and write code that implements
tightly encapsulated classes and
the relationships "is a" and "has a"
-
Write code to invoke overridden or
overloaded methods and parental or overloaded constructors,
and describe
the effect of invoking these methods
-
Write code to construct
instances of any concrete class including normal top level classes, inner
classes, static inner classes, and anonymous inner
classes
7.
THREADS
-
Write code to define, instantiate, and
start new threads using both java.lang.Thread and java.lang.Runnable
-
Recognize conditions
that might prevent a thread from executing
-
Write code using
synchronized, wait, notify, or notifyAll, to protect against concurrent access
problems and to communicate between threads.
-
Define the interaction
between threads and between threads and object locks when executing
synchronized, wait, notify, or notifyAll
8.
THE JAVA.AWT PACKAGE
-
Write code using
component, container, and LayoutManager classes of the java.awt package to
present a Graphical User Interface with specified appearance and resize
behavior, and distinguish the responsibilities of layout managers from those
of containers
-
Write code to implement
listener classes and methods, and in listener methods, extract information
from the event to determine the affected component, mouse position, nature,
and time of the event
-
State the event classname for any
specified event listener interface in the java.awt.event package
9. THE JAVA.LANG
PACKAGE
-
Write code using the following methods
of the java.lang.Math class:
abs, ceil, floor, max, min, random, round, sin, cos, tan, and
sqrt
-
Describe the
significance of the immutability of string
objects
10.
THE JAVA.UTIL PACKAGE
11.
THE JAVA.IO PACKAGE
-
Write code that uses
objects of the file class to navigate a file
system
-
Write code that uses objects of the
classes InputStreamReader and outputStreamWriter to
translate between
Unicode and either platform default or ISO 8859-1 character encoding and
Distinguish between conditions under which platform default encoding
conversion should be used and conditions under which a specific conversion
should be used
-
Select valid constructor arguments for
FilterInputStream and FilterOutputStream subclasses from a
list of classes in the java.io.package
-
Write appropriate code to read, write
and update files using FileInputStream, FileOutputStream,
and RandomAccessFile
objects
-
Describe the permanent effects on the
file system of constructing and using FileInputStream,
FileOutputStream, and RandomAccessFile
objects |