You are on page 1of 7

Dt : 3/9/2022

Diagram:

ii
ath
aip
hM
tes

=====================================================

*imp
a

InnerClasses in Interfaces:
nk

=>we can also declare InnerClasses in Interfaces and which are


Ve

automatically Static member InnerClasses.

*imp

InnerClasses in AbstractClasses:

=>we can also declare InnerClasses in abstract classes and which

can be Static member InnerClasses or NonStatic member InnerClasses


Ex:

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

public void m22(int b) {


System.out.println("====m22(b)====");
System.out.println("The value b:"+b);
}
a

}//Static member InnerClass


nk

}//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)====

The value a:13

====m22(b)====
tes

The value b:14

=======================================================
a

*imp
nk

InnerInterfaces in Java:
Ve

(i)InnerInterfaces in Classes:

=>We can also declare InnerInterfaces in Classes and which can

be Static member InnerInterfaces or NonStatic member InnerInterfaces.

(ii)InnerInterfaces in Interfaces:
=>we can also declare InnerInterfaces in Interfaces and which are

automatically Static member InnerInterfaces.

(iii)InnerInterfaces in AbstractClasses:

=>we can also declare InnerInterfaces in AbstractClasses and which

can be Static member InnerInterfaces or NonStatic member

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

public interface ITest {


public static interface ITest11{
public abstract void m11(int p);
Ve

}//Static member InnerInterface


}//OuterInterface

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

ITest.ITest11 ob3 = (int p)->


{
System.out.println("====m(p)====");
System.out.println("The value p:"+p);;
a

};
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)====

The value y:13

*****InnerInterface in Interfaces*****

aip
====m(p)====

The value p:14


hM
*****InnerInterfaces in AbstractClass****

====m2(a)====

The value a:15


tes

====m22(b)===

The value b:16


a

=========================================================
nk

*imp
Ve

InnerAbstractClasses in Java:

(i)InnerAbstractClasses in Classes:

=>we can also declare InnerAbstractClasses in Class and which

can be Static member InnerAbstractClasses or NonStatic member

InnerAbstractClasses.
(ii)InnerAbstractClasses in Interfaces:

=>We can also declare InnerAbstractClasses in Interfaces and

which are automatically Static member InnerAbstractClasses.

(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

You might also like