Inner Classes Questions and Answers

Practice Mode
Showing 10 of 27 questions
Q1
 Which is true about an anonymous inner class?
  • A It can extend exactly one class and implement exactly one interface.
  • B It can extend exactly one class and can implement multiple interfaces.
  • C It can extend exactly one class or implement exactly one interface.
  • D It can implement multiple interfaces regardless of whether it also extends a class.
Answer: Option C
Q2
class Boo {     Boo(String s) { }     Boo() { } } class Bar extends Boo {     Bar() { }     Bar(String s) {super(s);}     void zoo()     {     // insert code here     } } which one create an anonymous inner class from within class Bar?
  • A Boo f = new Boo(24) { };
  • B Boo f = new Bar() { };
  • C Bar f = new Boo(String s) { };
  • D Boo f = new Boo.Bar(String s) { };
Answer: Option B
Q3
Which is true about a method-local inner class?
  • A It must be marked final.
  • B It can be marked abstract.
  • C It can be marked public.
  • D It can be marked static.
Answer: Option B
Q4
Which statement is true about a static nested class?
  • A You must have a reference to an instance of the enclosing class in order to instantiate it.
  • B It does not have access to nonstatic members of the enclosing class.
  • C It's variables and methods must be static.
  • D It must extend the enclosing class.
Answer: Option B
Q5
Which constructs an anonymous inner class instance?
  • A Runnable r = new Runnable() { };
  • B Runnable r = new Runnable(public void run() { });
  • C Runnable r = new Runnable { public void run(){}};
  • D System.out.println(new Runnable() {public void run() { }});
Answer: Option D
Q6
class Foo {     class Bar{ } } class Test {     public static void main (String [] args)     {         Foo f = new Foo();         /* Line 10: Missing statement ? */     } } which statement, inserted at line 10, creates an instance of Bar?
  • A Foo.Bar b = new Foo.Bar();
  • B Foo.Bar b = f.new Bar();
  • C Bar b = new f.Bar();
  • D Bar b = f.new Bar();
Answer: Option B
Q7
public class MyOuter {     public static class MyInner     {         public static void foo() { }     } } which statement, if placed in a class other than MyOuter or MyInner, instantiates an instance of the nested class?
  • A MyOuter.MyInner m = new MyOuter.MyInner();
  • B MyOuter.MyInner mi = new MyInner();
  • C MyOuter m = new MyOuter(); MyOuter.MyInner mi = m.new MyOuter.MyInner();
  • D MyInner mi = new MyOuter.MyInner();
Answer: Option A
Q8
What is the main advantage of using inner classes in Java?
  • A They reduce memory usage
  • B They make code run faster
  • C They allow access to private members of outer class and help in logical grouping
  • D They prevent method overriding
Answer: Option C
Explanation: Inner classes can access private members of outer class and help in logical grouping of classes.
Q9
Which type of inner class can have static members?
  • A Local inner class
  • B Anonymous inner class
  • C Static nested class
  • D Member inner class
Answer: Option C
Explanation: Static nested classes can have static members, while other inner classes cannot.
Q10
What is an anonymous inner class?
  • A A class with no name declared and instantiated at the same time
  • B A class that cannot be instantiated
  • C A class that has only private methods
  • D A class that extends Object class only
Answer: Option A
Explanation: Anonymous inner classes are declared and instantiated at the same time without a name.
Questions and Answers for Competitive Exams Various Entrance Test