Which of the follow are true statements.
| a. | A nested class is any class that is declared within the body of another class or interface. |
| b. | A nested class can not be declared within the body of an interface declaration. |
| c. | An inner class is a nested class that is not static. |
| d. | A nested class can not be declared static. |
| e. | A named class is any class that is not anonymous. |
Which of the follow are true statements.
| a. | A local class is declared within a method, constructor or block. |
| b. | An anonymous class is always a local class. |
| c. | A local class is a nested class. |
| d. | A local class is a member class. |
| e. | A local class is always a named class. |
Which of the following are class modifiers? Select all that are applicable to a top-level class and all that are applicable to a nested class. It is not required that a modifier be applicable to both.
| a. | abstract |
| b. | extends |
| c. | final |
| d. | implements |
| e. | private |
| f. | protected |
| g. | public |
| h. | static |
| i. | synchronized |
| j. | transient |
| k. | volatile |
Which of the following modifiers can be applied to a member class?
| a. | abstract |
| b. | final |
| c. | public |
| d. | protected |
| e. | private |
| f. | static |
| g. | synchronized |
| h. | transient |
Which of the following modifiers can be applied to a local class?
| a. | public |
| b. | protected |
| c. | private |
| d. | abstract |
| e. | static |
| f. | final |
class Z {
abstract class A {} // 1
final class B {} // 2
private class C {} // 3
protected class D {} // 4
public class E {} // 5
}
Which class declaration results in a compile-time error?
| a. | 1 |
| b. | 2 |
| c. | 3 |
| d. | 4 |
| e. | 5 |
| f. | None of the above |
Which of the following is a true statement?
| a. | An anonymous class can extend only the Object class. |
| b. | An anonymous class can not implement an interface. |
| c. | An anonymous class declaration can not have an implements clause. |
| d. | An anonymous class declaration can name more than one interface in the implements clause. |
| e. | The class instance creation expression for an anonymous class must never include arguments. |
| f. | None of the above |
class A {
private static String s1 = "s1";
final String s2 = "s2";
A () { new Z("s5","s6");}
class Z {
final String s3 = "s3";
String s4 = "s4";
Z (final String s5, String s6) {
System.out.print(???);
}}
public static void main(String args[]) {new A();}
}
Which variable can not be substituted for ??? without causing a compile-time error?
| a. | s1 |
| b. | s2 |
| c. | s3 |
| d. | s4 |
| e. | s5 |
| f. | s6 |
| g. | None of the above |
Which of the following are true statements?
| a. | An anonymous class is implicitly abstract. |
| b. | An anonymous class is implicitly final. |
| c. | An anonymous class is implicitly static. |
| d. | A static reference variable can reference an instance of an anonymous class. |
| e. | An anonymous class declaration must have at least one explicit constructor declaration. |
| f. | An anonymous class declaration can have more than one explicit constructor declaration. |
class B {
private static String s1 = "s1";
final String s2 = "s2";
B () {new Z("s5","s6");}
static class Z {
final String s3 = "s3";
static String s4 = "s4";
Z (final String s5, String s6) {
System.out.print(???);
}}
public static void main(String args[]) {new B();}
}
Which variable can not be substituted for ??? without causing a compile-time error?
| a. | s1 |
| b. | s2 |
| c. | s3 |
| d. | s4 |
| e. | s5 |
| f. | s6 |
| g. | None of the above |
class C {
private static String s1 = "s1";
String s2 = "s2";
C() {m1("s5","s6");}
void m1(final String s5, String s6) {
final String s3 = "s3"; String s4 = "s4";
class Z {Z() {System.out.print(???);}}
new Z();
}
public static void main(String args[]) {new C();}
}
Which variable names can be substituted for ??? without causing a compile-time error?
| a. | s1 |
| b. | s2 |
| c. | s3 |
| d. | s4 |
| e. | s5 |
| f. | s6 |
class D {
D() {System.out.print("D");}
class Z {Z(){System.out.print("Z");}}
public static void main(String args[]) {
new D.Z();
}}
What is the result of attempting to compile and run the program?
| a. | Prints: D |
| b. | Prints: Z |
| c. | Prints: DZ |
| d. | Prints: ZD |
| e. | Run-time error |
| f. | Compile-time error |
| g. | None of the above |
abstract class A {
private int x = 4;
private int y = 2;
public int x() {return x;}
public void x(int x) {this.x = x;}
public int y() {return y;}
public void y(int y) {this.y = y;}
public abstract int math();
}
class B {
static A a1 = new A(2,1) {
public A(int i1, int i2) {x(i1);y(i2);};
public int math() {return x()+y();}
};
public static void main(String[] args) {
System.out.print(a1.math());
}}
What is the result of attempting to compile and run the program?
| a. | Prints: 8 |
| b. | Prints: 3122 |
| c. | Compile-time error |
| d. | Run-time error |
| e. | None of the above |
class E {
E() {System.out.print("E");}
static class Z {Z(){System.out.print("Z");}}
public static void main(String args[]) {
new E.Z();
}}
What is the result of attempting to compile and run the program?
| a. | Prints: E |
| b. | Prints: Z |
| c. | Prints: EZ |
| d. | Prints: ZE |
| e. | Run-time error |
| f. | Compile-time error |
| g. | None of the above |
class F {
public void m1() {Z.m1();} // 1
private static class Y {
private static void m1() {
System.out.print("Y.m1 ");
}}
private static class Z {
private static void m1(){
System.out.print("Z.m1 ");
Y.m1(); // 2
}}
public static void main(String[] args) {
new F().m1();
}}
What is the result of attempting to compile and run the program?
| a. | Compile-time error at line 1 |
| b. | Compile-time error at line 2 |
| c. | Run-time error at line 1 |
| d. | Run-time error at line 2 |
| e. | Prints: Z.m1 Y.m1 |
| f. | None of the above |
abstract class A {
private int x = 4;
private int y = 2;
public int x() {return x;}
public void x(int x) {this.x = x;}
public int y() {return y;}
public void y(int y) {this.y = y;}
public abstract int math();
}
class B {
static A a1 = new A() {public int math() {return x()+y();}}
static A a2 = new A() {public int math() {return x()-y();}}
static A a3 = new A() {public int math() {return x()*y();}}
static A a4 = new A() {public int math() {return x()/y();}}
public static void main(String[] args) {
System.out.print("" + a1.math() + a2.math() +
a3.math() + a4.math());
}}
What is the result of attempting to compile and run the program?
| a. | Prints: 18 |
| b. | Prints: 6282 |
| c. | Compile-time error |
| d. | Run-time error |
| e. | None of the above |
abstract class A {
private int x = 4;
private int y = 2;
public int x() {return x;}
public void x(int x) {this.x = x;}
public int y() {return y;}
public void y(int y) {this.y = y;}
}
interface B {int math();}
class C {
static class D extends A implements B {
public int math() {return x()+y();}
}
static A a1 = new A() implements B {
public int math() {return x()+y();}
};
public static void main(String[] args) {
System.out.print(new C.D().math());
System.out.print(a1.math());
}}
What is the result of attempting to compile and run the program?
| a. | Prints: 12 |
| b. | Prints: 66 |
| c. | Compile-time error |
| d. | Run-time error |
| e. | None of the above |
abstract class A {
private int x = 4;
private int y = 2;
public A(int i1, int i2) {x=i1;y=i2;}
public int x() {return x;}
public void x(int x) {this.x = x;}
public int y() {return y;}
public void y(int y) {this.y = y;}
public abstract int math();
}
class B {
static A a1 = new A(2,1) {public int math() {return x()+y();}};
static A a2 = new A(2,1) {public int math() {return x()-y();}};
static A a3 = new A(2,1) {public int math() {return x()*y();}};
static A a4 = new A(2,1) {public int math() {return x()/y();}};
public static void main(String[] args) {
System.out.print("" + a1.math() + a2.math() +
a3.math() + a4.math());
}}
What is the result of attempting to compile and run the program?
| a. | Prints: 8 |
| b. | Prints: 3122 |
| c. | Compile-time error |
| d. | Run-time error |
| e. | None of the above |