|
TESTING
OBJECTIVES FOR THE NEW SUN CERTIFIED PROGRAMMER FOR JAVA
2 PLATFORM
|
|
Section 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.
|
Section 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.
|
Section 3 :
Garbage Collection
-
State the behavior that
is guaranteed by the garbage collection system, and
write code that explicitly makes objects eligible for
collection.
|
Section 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.
|
|
Section 5 : Operators and
assignments
-
Determine the result
of applying any operator, including assignment
operators, instanceof, 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.
|
|
Section 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.
|
|
Section
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.
|
|
Section 8 : The
java.awt Package
-
Write code using
component, container, and LayoutManager classes of
the java.awt package to present a GUI 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.
|
|
Section 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, sqrt.
-
Describe the
significance of the immutability of String
objects.
|
|
|
|
Section 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.
Sections :
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
|
|
|