Create a class OuterClass with the following:
The LocalInnerClass is as shown below:
The main() should make a call to OuterClass's sayHello() method.
Modify the sayHello() such that the following output is obtained:
Hello World in LocalInnerClass!!
outerX :10 in LocalInnerClass
Hello World in sayHello!!
outerX :10 in AnonymousInnerClass
- a private integer variable outerX with value 10
- printOuterX()
- sayHello() with a local inner class named LocalInnerClass and an anonymous inner class.
The LocalInnerClass is as shown below:
class LocalInnerClass { public void greetInLocal() { System.out.println("Hello World in LocalInnerClass!!"); } public void printXInLocal() { System.out.println("outerX :" + outerX + " in LocalInnerClass"); } } //The anonymous inner class AnonymousInnerClass as shown below: class AnonymousInnerClass { public void printHelloWorld() { System.out.println("Hello World in AnonymousInnerClass!!"); } }
The main() should make a call to OuterClass's sayHello() method.
Modify the sayHello() such that the following output is obtained:
Hello World in LocalInnerClass!!
outerX :10 in LocalInnerClass
Hello World in sayHello!!
outerX :10 in AnonymousInnerClass
Solution:
public class InnerClassExample { public static void main(String[] args) { OuterClass obj= new OuterClass(); obj.displayX(); obj.sayHello(); } } class OuterClass { private int OuterX=10; void displayX(){ System.out.println("X="+OuterX+" In OuterClass"); } void sayHello(){ class LocalInnerClass { public void greetInLocal() { System.out.println("Hello World in LocalInnerClass!!"); } public void printXInLocal() { System.out.println("outerX :" + OuterX + " in LocalInnerClass"); } } LocalInnerClass local2 = new LocalInnerClass(); LocalInnerClass local1 = new LocalInnerClass(){ public void greetInLocal(){ System.out.println("outerX :" + OuterX + " in AnnonymousClass"); } }; local2.greetInLocal(); local2.printXInLocal(); System.out.println("Hello World in sayHello!!"); local1.greetInLocal(); } }
No comments:
Post a Comment