抽象クラスのネストされたインタフェース

1015 ワード

レコードの更新
【1】2020.02.08-16:37
1.改善内容
本文
内部クラスとインタフェースを見ていると、抽象クラスにインタフェースをネストできるかどうかという考えが芽生えました.そこで私は試してみるつもりです.
abstract class AbstractClass{
    interface in{
        public void print();
    }
}

こんな書き方が認められたとは思わなかった.
では、問題は、インタフェースをどのように実現するかということです.実はこれは内部クラスと似ていて、抽象クラスとインタフェースを別々に実現すればいいのです.
public class class4 extends AbstractClass implements AbstractClass.in{
    public void ab3() {
        System.out.println("              ");
    }
    public void XX(){}                                                    //           
}

実現したら、必ず使いますね
public static void main(String[] args) {
    AbstractClass.in inIn = new class4();
    inIn.ab3();
}

運転結果: このほか、匿名の内部クラスの形式で書くこともでき、呼び出し方法は上記と同じです.
Super.in inIn = new Super.in() {
    public void ab3() {
        // TODO Auto-generated method stub
    }
};
inIn.ab3();

本文に厳格でない点があれば、皆さんの指摘を歓迎します.