nested class in java code example
Example 1: Nested classes in java
// anonymous inner class as method argument.
interface HelloWorld
{
String print();
}
public class AnonymousInnerDemo
{
// method accepts object of interface HelloWorld
public void display(HelloWorld m)
{
System.out.println(m.print() + "example of anonymous inner class as method argument.");
}
public static void main(String[] args)
{
AnonymousInnerDemo obj = new AnonymousInnerDemo();
// pass an anonymous inner class as an argument
obj.display(new HelloWorld() {
public String print() {
return "Hi! ";
}
});
}
}
Example 2: Nested classes in java
// example on static nested classes java
import java.util.*;
public class OuterClass
{
static class NestedClass
{
public void display()
{
System.out.println("static nested class example");
}
}
public static void main(String[] args)
{
OuterClass.NestedClass nested = new OuterClass.NestedClass();
nested.display();
}
}
Example 3: Nested classes in java
// example on method local inner class in java.
class Outer
{
// outer class instance method
void display()
{
int num = 96;
// method-local inner class
class MethodLocalInner
{
public void show()
{
System.out.println("in method local inner class " + num);
}
} // end of inner class
// access method local inner class
MethodLocalInner objInner = new MethodLocalInner();
objInner.show();
}
public static void main(String[] args)
{
Outer objOuter = new Outer();
objOuter.display();
}
}
Example 4: Nested classes in java
// Anonymous inner class in java
abstract class Anonymous
{
public abstract void display();
}
public class AnonymousInnerExample
{
public static void main(String[] args)
{
Anonymous obj = new Anonymous() {
public void display() {
System.out.println("anonymous inner class example");
}
};
obj.display();
}
}
Example 5: Nested classes in java
// how to access private members of a class.
class OuterClass
{
// outer class private variable
private int number = 56;
// inner class
public class InnerClass
{
public int showNumber()
{
System.out.println("showNumber() method of inner class.");
return number;
}
}
}
public class AccessPrivateMembers
{
public static void main(String[] args)
{
OuterClass objOuter = new OuterClass();
OuterClass.InnerClass objInner = objOuter.new InnerClass();
System.out.println(objInner.showNumber());
}
}
Example 6: Nested classes in java
// example on inner class in java
class OuterDemo
{
int num;
// inner class
private class InnerDemo
{
public void display()
{
System.out.println("inner class");
}
}
// access inner class from method within
void printInner()
{
InnerDemo objInner = new InnerDemo();
objInner.display();
}
}
public class InnerClassExample
{
public static void main(String[] args)
{
OuterDemo objOuter = new OuterDemo();
objOuter.printInner();
}
}