www.studyjava.org inteview home
Question 1)
Which of the following
are legal statements?
1) float f=1/3;
2) int i=1/3;
3) float f=1.01;
4) double d = 999d;
Question 2)
Which of the following
are Java keywords?
1) NULL
2) new
3) instanceOf
4) wend
Question 3)
Which of the following
are valid statements?
1) System.out.println(1+1);
2) int i= 2+'2';
3) String s= "on"+'one';
4) byte b=255;
Question 4)
Which of the following
statements are true?
1) The garbage
collection algorithm in Java is vendor implemented
2) The size of primitives is platform dependent
3) The default type for a numerical literal with decimal component is a float.
4) You can return the value contained in an instance of the Integer wrapper
class with a call to the getValue method
Question 5)
Which of the following
are true statements?
1) I/O in Java can only
be performed using the Listener classes
2) The RandomAccess interface allows you to move
directly to any point in instance of the File class
3) The creation of a named instance of the File class creates a matching file
in the underlying operating system only when the close method is called.
4) The characteristics of an instance of the File class such as the directory
separator, depend on the current underlying operating system
Question 6).
Which of the following
statements are true?
1) The instanceof operator can be used to determine if a reference
is an instance of a class, but not an interface.
2) The instanceof operator can be used to determine
if a reference is an instance of a particular primitive wrapper class
3) The instanceof operator will only determine if a
reference is an instance of a class immediately above in the hierarchy but no
further up the inheritance chain
4) The instanceof operator will always return true if
you ask if a reference is an instance of the Object class
Question 7)
Which of the following
statements are true?
1) An interface can only
contain method and not variables
2) Java does not allow the creation of a reference to an interface with the new
keyword.
3) A class may extend only one other class and implement only one interface
4) Interfaces are the Java approach to addressing the single inheritance model,
but require implementing classes to create the functionality of the Interfaces.
Question 8)
Which of the following
are valid statements
1) public class MyCalc extends Math
2) Math.max(s);
3)Math.round(9.99,1);
4)Math.mod(4,10);
Question 9)
Which of the following
are methods of the Runnable interface
1) run
2) start
3) yield
4) stop
Question 10)
Which of the following statements
are true?
1) A byte can represent
between -128 to 127
2) A byte can represent between -127 to 128
3) A byte can represent between -256 to 256
4) A char can represent between -2x2 pow 16 2 x2 pow 16 - 1
Question 11)
What will happen when
you attempt to compile and run the following code
class Base{
public void Base(){
System.out.println("Base");
}
}
public class In extends Base{
public static void main(String argv[]){
In i = new In();
}
}
1) Compile time error
Base is a keyword
2) Compilation and no output at runtime
3) Output of Base
4) Runtime error Base has no valid constructor
Question 12)
You have a public class
called myclass with the main method defined as
follows
public static void
main(String parm[]){
System.out.println(parm[0]);
}
If you attempt to
compile the class and run the program as follows
java myclass
hello
What will happen?
1) Compile time error,
main is not correctly defined
2) Run time error, main is not correctly defined
3) Compilation and output of java
4) Compilation and output of hello
Question 13)
Which of the following
statements are true?
1) If a class has any
abstract methods it must be declared abstract itself.
2) All methods in an abstract class must be declared as abstract
3) The final modifier means that a class cannot be sub-classed
4) transient and volatile are Java modifiers
Question 14)
Objective 1.2)
Which of the following
are valid methods?
1) public static native
void amethod(){}
2) public static void amethod(){}
3) private protected void amethod(){}
4) static native void amethod();
Question 15)
Objective 6.2)
Which of the following
statements are true?
1) Constructors cannot
have a visibility modifier
2) Constructors can be marked public and protected, but not private
3) Constructors can only have a primitive return type
4) Constructors are not inherited
Question 16)
What will happen when
you attempt to compile and run the following class?
class Base{
Base(int i){
System.out.println("Base");
}
}
class
public static void main(String argv[]){
}
void
System.out.println("
}
}
1) Compilation and
output of the string "
2) Compile time error
3) Compilation and no output at runtime
4) Compilation and output of the string "Base"
Question 17)
Which of the following
statements are true?
1) static methods do not
have access to the implicit variable called this
2) a static method may not be overriden
3) a static may not be overriden to be non-static
4) a static method may not be overloaded
Question 18)
Which of the following
will compile without error?
1)
char c = '1';
System.out.println(c>>1);
2)
Integer i = Integer("1");
System.out.println(i>>1);
3)
int i
=1;
System.out.println(i<<<1);
4)
int i
=1;
System.out.println(i<<1);
Question 19)
Which of the following
are true?
1) A component may have
only one event listener attached at a time
2) An event listener may be removed from a component
3) The ActionListener interface has no corresponding
Adapter class
4) The processing of an event listener requires a try/catch block
Question 20)
Which of the following
are Java keywords?
1) sizeof
2) main
3) transient
4) volatile
Question 21)
Which of the following
statements are true?
1) The default
constructor has a return type of void
2) The default constructor takes a parameter of void
3) The default constructor takes no parameters
4) The default constructor is not created if the class has any constructors of
its own.
Question 22)
Which of the following
statements are true?
1) All of the variables
in an interface are implicitly static
2) All of the variables in an interface are implicitly final
3) All of the methods in an interface are implictly
abstract
4) Any methods in an interface cannot access class level variables
Question 23)
Which of the following
statements are true?
1) The String class is implemented as a char array, elements are addressed
using the stringname[] convention
2) Strings are a primitive type in Java that overloads the + operator for
concatenation
3) Strings are a primitive type in Java and the StringBuffer
is used as the matching wrapper type
4) The size of a string can be retrieved using the length property
Question 24)
Which of the following
statements are true?
1) A method in an
interface must not have a body
2) A class may extend one other class plus one interface
3) A class may extends one other class plus many interfaces
4) An class accesses an interface via the keyword uses
Answers
Objective 4.5)
1) float f=1/3;
2) int i=1/3;
4) double d = 999d;
The fact that option 3
does not compile may be a surprise. The problem is because the default type for
a number with a decimal component is a double and not a float. The additional
trailing d in the option with 999 doesn't help, but it doesn't harm.
Objective 4.3)
2) new
The option NULL (note
the upper case letter) is definitely not a keyword. There is some discussion as
to if null is a keyword but for the purpose of the exam you should probably
assume it is a keyword.
The option instanceOf is a bit of a misleading option that would probably
not occur on the exam. The real keyword is instanceof
(note that the of has no capital letter O). I had the incorrect version in an
earlier version of this tutorial as it looks more likely to my eyes. The instanceof keyword looks like a method, but it is
actually an operator.
The option wend
is probably valid in some other language to indicate the end of a while
loop, but Java has no such keyword.
![]()
Objective 4.5)
1) System.out.println(1+1);
2) int i= 2+'2';
Option 3 is not valid because single quotes are used to indicate a character
constant and not a string.
Option 4 will not compile because 255 is out of the range of a byte
![]()
Objective 7.1)
1) The garbage
collection algorithm in Java is vendor implemented
Threading and garbage
collection are two of the few areas that are platform dependent. This is one of
the
reasons why Java is not suitable for realtime
programming. It is not a good idea use it to control your
plane or nuclear power station.
![]()
Objective 10.1)
(Not on the official sub
objectives but this topic does come up on the exam)
2) The RandomAccess interface allows you to move directly to any
point in instance of the File class
3) The creation of a named instance of the File class creates a matching file
in the underlying operating system only when the close method is called
4) The characteristics of an instance of the File class such as the directory
separator, depend on the current underlying operating system
![]()
2) The instanceof operator can be used to determine if a reference
is an instance of a particular primitive wrapper class
4) The instanceof operator will always return true if
you ask if a reference is an instance of the Object class
![]()
Objective 4.1)
4) Interfaces are the
Java approach to addressing the single inheritance model, but require
implementing classes to create the functionality of the Interfaces.
An interface may contain
variables as well as methods. However any variables are final by default and
must be assigned values on creation. A class can only extend one other class
(single inheritance) but may implement as many interfaces as you like (or is
sensible).
![]()
Objective 9.1)
None of these are valid
statements. The Math class is final and cannot be extended. The max method
takes two parameters, round only takes one parameter and there is no mod
parameter. You may get questions in the exam that have no apparently correct
answer. If you are absolutely sure this is the case, do not check any of the
options.
![]()
Objective 7.1)
1) The Runnable interface has only one method run that needs to be
created in any class that implements it. The start method is used to actually
call and start the run method executing.
![]()
Objective 4.5)
1) A byte can represent
between -128 to 127
The char type is the
only unsigned type in Java and thus cannot represent a negative number.
![]()
Objective 1.2)
2) Compilation and no
output at runtime
Because the method in
Base called Base has a return type it is not a constructor and there for does
not get called on creation of an instance of its child class In
![]()
Objective 4.2)
4) Compilation and
output of hello
This type of question is
particularly calculated to catch out C/C++ programmers who might expect
parameter zero to be the name of the compiler.
![]()
Objective 1.2)
1) If a class has any
abstract methods it must be declared abstract itself.
3) The final modifier means that a class cannot be sub-classed
4) transient and volatile are Java modifiers
An abstract class
may have non abstract methods. Any class that descends from an abstract
class must implement the abstract methods of the base class or declare
them as abstract itself.
![]()
Objective 1.2)
2) public static void amethod(){}
4) static native void amethod();
Option 1 is not valid
because it has braces and the native modifier means that the method can have no
body. This is because the body must be implemented in some other language
(often C/C++). Option 3 is not valid because private and protected contradict
themselves.
![]()
Objective 6.2)
4) Constructors are not
inherited
Constructors can be
marked public, private or protected. Constructors do not have a return type.
Objective 1.3)
2) Compile time error
An error occurs when the
class
Objective 1.2)
1) static methods do not
have access to the implicit variable called this
3) a static may not be overriden to be non-static
The implicit variable this
referrs to the current instant of a class and
thus and by its nature a static method cannot have access to it.
Objective 5.1)
1)
char c = '1';
System.out.println(c>>1);
4)
int i
=1;
System.out.println(i<<1);
Be aware that Integer
(not the upper case I) is a wrapper class and thus cannot be treated like a
primitive. The fact that option 1 will compile may be a surprise, but although
the char type is normally used to store character types, it is actually
an unsigned integer type. The reason option 3 does not compile is that Java has
a >>> operator but not a <<< operator.
Objective 4.6)
2) An event listener may
be removed from a component
3) The ActionListener interface has no corresponding
Adapter class
A component may have
multiple event listeners attached. Thus a field may need to respond to both the
mouse and the keyboard, requireing multiple event
handlers. The ActionListener has not matching Adapter
class because it has only one method, the idea of the Adapter classes is to
eliminate the need to create blank methods.
Objective 4.3)
3) transient
4) volatile
Option 1, sizeof is designed to catch out the C/C++ programmers. Java
does not have a sizeof keyword as the size of
primitives should be consistent on all Java implementations. Although a program
needs a main method with the standard signature to start up it is not a
keyword. The real keywords are less commonly used and therefore might not be so
familiar to you.
Objective 1.3)
3) The default
constructor takes no parameters
4) The default constructor is not created if the class has any constructors of
its own.
Option 1 is fairly
obviously wrong as constructors never have a return type. Option 2 is very
dubious as well as Java does not offer void as a type for a method or
constructor.
Objective 4.1)
1) All of the variables
in an interface are implicitly static
2) All of the variables in an interface are implicitly final
3) All of the methods in an interface are implictly
abstract
All the variables in an
interface are implictly static and final. Any methods
in an interface have no body, so may not access any type of variable
Answer to Question 23)
2) The + operator is
overloaded for concatenation for the String class
In Java Strings are
implemented as a classs within the Java.lang package with the special distinction that the +
operator is overloaded. If you thought that the String class is implemented as
a char array, you may have a head full of C/++ that needs emptying. There is
not "wrapper class" for String as wrappers are only for primitive
types.
If you are suprised that option 4 is not a correct answer it is
because length is a method for the String class, but a property for and array
and it is easy to get the two confused.
1) A method in an
interface must not have a body
3) A class may extends one other class plus many interfaces
A class accesses an
interface using the implements keyword (not uses)