Professional Documents
Culture Documents
Venkatesh Maipathii
Venkatesh Maipathii
Diagram:
ii
ath
aip
hM
tes
=====================================================
*imp
a
InnerClasses in Interfaces:
nk
*imp
InnerClasses in AbstractClasses:
ITest.java
package test;
public interface ITest {
public static class SubClass2{
public void m2(int x) {
System.out.println("===m2(x)====");
System.out.println("The value x:"+x);
ii
}
ath
}//Static member InnerClas
}//OuterInterface
AClass.java
aip
package test;
public abstract class AClass {
public class SubClass11{
hM
public void m11(int a) {
System.out.println("====m11(a)====");
System.out.println("The value a:"+a);
}
}//Instance member InnerClass
public static class SubClass22{
tes
}//OuterAbstractClass
DemoInnerClass4.java(MainClass)
Ve
package maccess;
import test.*;
public class DemoInnerClass4 {
public static void main(String[] args) {
System.out.println("****InnerClass in Interface****");
ITest.SubClass2 ob1 = new ITest.SubClass2();
ob1.m2(12);
System.out.println("****InnerClasses in
AbstractClass****");
AClass ob = new AClass()
{
//Extention_Class_body_with_zero_members
};
AClass.SubClass11 ob2 = ob.new SubClass11();
ob2.m11(13);
AClass.SubClass22 ob3 = new AClass.SubClass22();
ob3.m22(14);
}
}
ii
o/p:
ath
****InnerClass in Interface****
===m2(x)====
aip
The value x:12
****InnerClasses in AbstractClass****
hM
====m11(a)====
====m22(b)====
tes
=======================================================
a
*imp
nk
InnerInterfaces in Java:
Ve
(i)InnerInterfaces in Classes:
(ii)InnerInterfaces in Interfaces:
=>we can also declare InnerInterfaces in Interfaces and which are
(iii)InnerInterfaces in AbstractClasses:
ii
InnerInterfaces.
ath
Ex:
aip
SubClass.java
package test;
public class SubClass {
hM
public interface ITest1{
public abstract void m1(int x);
}//Instance member InnerInterface
public static interface ITest2{
public abstract void m2(int y);
}//Static member InnerInterface
tes
}//OuterClass
ITest.java
a
package test;
nk
AClass.java
package test;
public abstract class AClass {
public interface ITest2{
public abstract void m2(int a);
}//Instance member InnerInterface
public static interface ITest22{
public abstract void m22(int b);
}//Static member InnerInterface
}//OuterAbstractClass
DemoInnerInterface1.java(MainClass)
package maccess;
import test.*;
public class DemoInnerInterface1 {
public static void main(String[] args) {
ii
System.out.println("****InnerInterfaces in
ath
Classes*****");
SubClass.ITest1 ob1 = (int x)->
{
System.out.println("====m1(x)====");
System.out.println("The value x:"+x);
aip
};
SubClass.ITest2 ob2 = (int y)->
{
System.out.println("====m2(y)====");
hM
System.out.println("The value y:"+y);
};
ob1.m1(12);
ob2.m2(13);
System.out.println("*****InnerInterface in
Interfaces*****");
tes
};
nk
ob3.m11(14);
System.out.println("*****InnerInterfaces in
AbstractClass****");
AClass.ITest2 ob4 = (int a)->
Ve
{
System.out.println("====m2(a)====");
System.out.println("The value a:"+a);
};
AClass.ITest22 ob5 = (int b)->
{
System.out.println("====m22(b)===");
System.out.println("The value b:"+b);
};
ob4.m2(15);
ob5.m22(16);
}
}
o/p:
****InnerInterfaces in Classes*****
====m1(x)====
ii
The value x:12
ath
====m2(y)====
*****InnerInterface in Interfaces*****
aip
====m(p)====
====m2(a)====
====m22(b)===
=========================================================
nk
*imp
Ve
InnerAbstractClasses in Java:
(i)InnerAbstractClasses in Classes:
InnerAbstractClasses.
(ii)InnerAbstractClasses in Interfaces:
(iii)InnerAbstractClasses in AbstractClasses:
ii
=>we can also declare InnerAbstractClasses in AbstractClasses and
ath
which can be Static member InnerAbstractClasses or NonStatic member
InnerAbstractClasses
EX:(Assignment)
aip
hM
=========================================================
a tes
nk
Ve