1. QUESTION1
What is the result of attempting to compile and run this
interface A{
void aMethod();
}
public class Test implements A{
void aMethod(){
System.out.println("hello");
}
public static void main(String[] args){
Test t = new Test();
t.aMethod();
}
}
1. The code will not compile.
2. Runtime exception.
3. Compiles and runs printing out "hello".
ANS : 1
All interface methods are implicitly public.
Will fail compilation becuse the access modifier
for aMethod() is being made more restrictive.
QUESTION2
Is this code legal ?
public class Test {
void aMethod(){
static int b = 10;
System.out.println(b);
}
}
1. Yes
2. No
ANS : 2
Local variables cannot be declared static.
QUESTION3
Is this legal
public class Test {
static { int a = 5; }
public static void main(String[] args){
System.out.println(a);
}
}
1.Yes
2.No
ANS : 2
Correct ans : 2
A variable declared in a static initialiser is not accessible outside its
enclosing block.
2. QUESTION4
Select the true statements.
1. Transient methods cannot be overridden
2. A final class may not be subclassed.
3. A private method can never be overridden to become public
4. An abstract class may contain final methods
5. A private method cannot be overridden and made public
6. Final methods may not be overridden.
ANS : 2,4,5,6
QUESTION5
Which of the following are valid for declaring and intialising
a char variable?
1. char c = 'a';
2. char c = ''';
3. char c = 'n';
4. char c = "a";
5. char c = u0061;
6 char c = 97;
ANS : 1
Corr answer : 1,2,3 and 6
QUESTION6
Which of the following are valid for declaring and initialising
a boolean variable?
1. boolean b = True;
2. boolean b = 0;
3. boolean b = 1 < 2;
4. boolean b = true?false:true;
5. boolean b = true;
ANS : 3,4,5
QUESTION7
Select the valid declarations.
1. int i = 16.0;
2. byte b = 16.0;
3. float f = 16.0;
4. double d = 16.0;
5. char u0063 = 'u0063';
ANS : 4,5
16.0 is a double type literal hence it becomes a widening
assignment for a byte, int or float.
QUESTION8
3. What is the result of attempting to compile and run this code
public class Test{
int i;
Test(){
i++;
}
public static void main(String[] args){
Test t = new Test();
System.out.println("value = " t.i);
}
}
1. The code will compile and run printing out value = 1
2. The code will compile and run printing out value = 0
3. The code will fail to compile becuse i has not been initialised
4. Run time error
ANS : 1
Numeric instance variables are always
automatically initialised to its default value.
So you can use them without explicitly initialising them.
QUESTION9
Whhat is the result of attempting to compile and run the following
public class Test{
int arr[] = new int[8];
public static void main(String[] args){
Test t = new Test();
System.out.println(t.arr[7]);
}
}
1. Compiler error
2. Runtime exception
3. Compiles and runs printing out 0
ANS : 3
Numeric instance variables are always
automatically initialised to its default value.
In the case of arrays each element of the array is
initialised to its defaut value.
QUESTION10
What is the result of trying to compile and run this
public class Test{
public static void main(String[] args){
int a;
Test t = new Test();
for(int j=0; j < 2 ; j++){
for(int i=0; i <4 ; i++){
a = j;
}
System.out.println(i);
}
4. }
}
1. Compiles without error and runs printing out 1 twice.
2. Compiles without error and runs printing out 0 followed by 1 .
3. Compiles without error and runs printing out 0 twice.
4. Runtime error
5. Does not compile
ANS : 5
The variable i is not accessible outside the enclosing block of the
inner loop.