Home | E-mail 

Sun Certified Java Programmer Certification Exam Cram Notes

Java SCJP 6 Exam Download
Java SCJP 6 Exam Details

What are the potential trips/traps in SCJP exam?

Answer: Provided by Ajith Kallambella (From Java Ranch: http://www.javaranch.com)

·         Two public classes in the same file.

·         Main method calling a non-static method.

·         Methods with the same name as the constructor(s).

·         Thread initiation with classes that dont have a run() method.

·         Local inner classes trying to access non-final vars.

·         Case statements with values out of permissible range.

·         Math class being an option for immutable classes !!

·         instanceOf is not same as instanceof

·         Private constructors

·         An assignment statement which looks like a comparison if ( a=true)...

·         System.exit() in try-catch-finally blocks.

·         Uninitialized variable references with no path of proper initialization.

·         Order of try-catch-finally blocks matters.

·         main() can be declared final.

·         -0.0 == 0.0 is true.

·         A class without abstract methods can still be declared abstract.

·         RandomAccessFile descends from Object and implements DataInput and DataOutput.

·         Map doesnot implement Collection.

·         Dictionary is a class, not an interface.

·         Collection is an Interface where as Collections is a helper class.

·         Class declarations can come in any order ( derived first, base next etc. ).

·         Forward references to variables gives compiler error.

·         Multi dimensional arrays can be sparce ie., if you imagine the array as a matrix, every row need not have the same number of columns.

·         Arrays, whether local or class-level, are always initialized,

·         Strings are initialized to null, not empty string.

·         An empty string is NOT the same as a null string.

·         A declaration cannot be labelled.

·         continue must be in a loop( for, do , while ). It cannot appear in case constructs.

·         Primitive array types can never be assigned to each other, eventhough the primitives themselves can be assigned. ie., ArrayofLongPrimitives = ArrayofIntegerPrimitives gives compiler error eventhough longvar = intvar is perfectly valid.

·         A constructor can throw any exception.

·         Initilializer blocks are executed in the order of declaration.

·         Instance initializer(s) gets executed ONLY IF the objects are constructed.

·         All comparisons involving NaN and a non-Nan would always result false.

·         Default type of a numeric literal with a decimal point is double.

·         integer (and long ) operations / and % can throw ArithmeticException while float / and % will never, even in case of division by zero.

·         == gives compiler error if the operands are cast-incompatible.

·         You can never cast objects of sibling classes( sharing the same parent ), even with an explicit cast.

·         .equals returns false if the object types are different.It does not raise a compiler error.

·         No inner class can have a static member.

·         File class has NO methods to deal with the contents of the file.

·         InputStream and OutputStream are abstract classes, while DataInput and DataOutput are interfaces.

 

Java SCJP 6 Exam Download
Java SCJP 6 Exam Details

Previous                                                   Contents                                                         

Privacy Policy Legal Contact webmaster Web design by anandsoft