インターフェイスのさまざまなメソッドが実装されているインターフェイス内にクラスを作成できますか。ここで、Java がインターフェイス内に内部クラスを記述できる理由と、それをどこで使用できるかについて疑問を持っています。
以下のプログラムでは、インターフェイス内にクラスを記述し、インターフェイスのメソッドを実装しています。インターフェイスの実装クラスで、内部クラス メソッドを呼び出しました。
public interface StrangeInterface
{
int a=10;int b=5;
void add();
void sub();
class Inner
{
void add()
{
int c=a+b;
System.out.println("After Addition:"+c);
}
void sub()
{
int c=a-b;
System.out.println("After Subtraction:"+c);
}
}
}
abstract public class StrangeInterfaceImpl implements I {
public static void main(String args[])
{
StrangInterface.Inner i=new StrangeInterface.Inner();
i.add();
i.sub();
}
}