A class inside another class inner or nested class
1. Nested class2. Method local inner class
3. static inner class
4. Anonymous inner class
Nested Class
public class Outer { private String message="welcome to java inner classes"; private class Inner{ private String greetings="Hi! how are you?"; public void display(){ System.out.println(message); } } public void show(){ System.out.println(message); System.out.println(new Inner().greetings); } }
public class Outer { private String message="welcome to java inner classes"; public class Inner{ private String greetings="Hi! how are you?"; public void display(){ System.out.println(message); } } public void show(){ System.out.println(message); System.out.println(new Inner().greetings); } }
public class Manager { public static void main(String[] args) { Outer obj=new Outer(); obj.show(); /* Creation of the inner class object */ Outer.Inner inner=obj.new Inner(); /* Another way of creation of the inner class */ Outer.Inner inn=new Outer().new Inner(); inn.display(); } }
public interface Game { void play(); }
public class Car { public Game getGame(){ return new MyGame(); } private class MyGame implements Game{ @Override public void play() { System.out.println("The Game is started"); } } }
public class GameMain { public static void main(String[] args) { Car c=new Car(); Game g=c.getGame(); g.play(); } }
Method local inner classes
class Example{ public void printMessage(){ final String greetings="Hi! how are you?"; class User{ private String message="Welcome to method local inner class"; void print(){ System.out.println(message+" "+greetings); } } User obj=new User(); obj.print(); } }
public class MethodLocalInner { public static void main(String[] args) { Example obj=new Example(); obj.printMessage(); } }
Static inner classes
class StOuter{ static class StInner{ void print(){ System.out.println("Hello"); } } } public class StaticInnerDemo { public static void main(String[] args) { StOuter.StInner obj=new StOuter.StInner(); obj.print(); } }
Anonymous Inner Classes
interface One{ void show(); } public class AnonymousDemo { public static void main(String[] args) { One obj=new One() { @Override public void show() { System.out.println("Welcom to Bangalore"); } }; obj.show(); } }
No comments:
Post a Comment