Junior Java Programmer Interview Questions

  1. What is the purpose of finalization? - The purpose of finalization is to give an unreachable object the opportunity to perform any cleanup processing before the object is garbage collected.
  2. What is the difference between the Boolean & operator and the && operator? - If an expression involving the Boolean & operator is evaluated, both operands are evaluated. Then the & operator is applied to the operand. When an expression involving the && operator is evaluated, the first operand is evaluated. If the first operand returns a value of true then the second operand is evaluated. The && operator is then applied to the first and second operands. If the first operand evaluates to false, the evaluation of the second operand is skipped.
  3. How many times may an object’s finalize() method be invoked by the garbage collector? - An object’s finalize() method may only be invoked once by the garbage collector.
  4. What is the purpose of the finally clause of a try-catch-finally statement? - The finally clause is used to provide the capability to execute code no matter whether or not an exception is thrown or caught.
  5. What is the argument type of a program’s main() method? - A program’s main() method takes an argument of the String[] type.
  6. Which Java operator is right associative? - The = operator is right associative.
  7. Can a double value be cast to a byte? - Yes, a double value can be cast to a byte.
  8. What is the difference between a break statement and a continue statement? - A break statement results in the termination of the statement to which it applies (switch, for, do, or while). A continue statement is used to end the current loop iteration and return control to the loop statement.
  9. What must a class do to implement an interface? - It must provide all of the methods in the interface and identify the interface in its implements clause.
  10. What is the advantage of the event-delegation model over the earlier event-inheritance model? - The event-delegation model has two advantages over the event-inheritance model. First, it enables event handling to be handled by objects other than the ones that generate the events (or their containers). This allows a clean separation between a component’s design and its use. The other advantage of the event-delegation model is that it performs much better in applications where many events are generated. This performance improvement is due to the fact that the event-delegation model does not have to repeatedly process unhandled events, as is the case of the event-inheritance model.
  11. How are commas used in the intialization and iteration parts of a for statement? - Commas are used to separate multiple statements within the initialization and iteration parts of a for statement.
  12. What is an abstract method? - An abstract method is a method whose implementation is deferred to a subclass.
  13. What value does read() return when it has reached the end of a file? - The read() method returns -1 when it has reached the end of a file.
  14. Can a Byte object be cast to a double value? - No, an object cannot be cast to a primitive value.
  15. What is the difference between a static and a non-static inner class? - A non-static inner class may have object instances that are associated with instances of the class’s outer class. A static inner class does not have any object instances.
  16. If a variable is declared as private, where may the variable be accessed? - A private variable may only be accessed within the class in which it is declared.
  17. What is an object’s lock and which object’s have locks? - An object’s lock is a mechanism that is used by multiple threads to obtain synchronized access to the object. A thread may execute a synchronized method of an object only after it has acquired the object’s lock. All objects and classes have locks. A class’s lock is acquired on the class’s Class object.
  18. What is the % operator? - It is referred to as the modulo or remainder operator. It returns the remainder of dividing the first operand by the second operand.
  19. When can an object reference be cast to an interface reference? - An object reference be cast to an interface reference when the object implements the referenced interface.
  20. Which class is extended by all other classes? - The Object class is extended by all other classes.
  21. Can an object be garbage collected while it is still reachable? - A reachable object cannot be garbage collected. Only unreachable objects may be garbage collected.
  22. Is the ternary operator written x : y ? z or x ? y : z ? - It is written x ? y : z.
  23. How is rounding performed under integer division? - The fractional part of the result is truncated. This is known as rounding toward zero.
  24. What is the difference between the Reader/Writer class hierarchy and the InputStream/OutputStream class hierarchy? - The Reader/Writer class hierarchy is character-oriented, and the InputStream/OutputStream class hierarchy is byte-oriented.
  25. What classes of exceptions may be caught by a catch clause? - A catch clause can catch any exception that may be assigned to the Throwable type. This includes the Error and Exception types.
  26. If a class is declared without any access modifiers, where may the class be accessed? - A class that is declared without any access modifiers is said to have package access. This means that the class can only be accessed by other classes and interfaces that are defined within the same package.
  27. Does a class inherit the constructors of its superclass? - A class does not inherit constructors from any of its superclasses.
  28. What is the purpose of the System class? - The purpose of the System class is to provide access to system resources.
  29. Name the eight primitive Java types. - The eight primitive types are byte, char, short, int, long, float, double, and boolean.
  30. Which class should you use to obtain design information about an object? - The Class class is used to obtain information about an object’s design.