内部类实用案例

1.实用内部类实现多继承限制

实例如下:

public class MutiExtendsDemo {

    public static void main(String []args){
        //实现了类C同时可以调用类A中showA方法和类B中showB方法
        C c = new C();
        c.showA();
        c.showB();
    }
}
class A{
    public void showA(){
        System.out.println("A");
    }
}
class B{
    public void showB(){
        System.out.println("B");
    }
}

/**
 * 使用内部类实现同时继承A和B
 */
class C{
    private class A1 extends  A{
        @Override
        public void showA(){
            super.showA();
        }
    }
    private class B1 extends B{
        @Override
        public void showB(){
            super.showB();
        }
    }
    public void showA(){
        new A1().showA();
    }
    public void showB(){
        new B1().showB();
    }
}

2.实用内部类实现同名方法调用

实例如下:

public class MutiDemo {
    public static void main(String[] args){
        DemoC demoC = new DemoC();
        demoC.show();
        demoC.show1();
    }
}
abstract class  InterfaceB{
    public abstract void show();
}
interface  InterfaceA{
    public abstract void show();
}

/**
 * 使用内部类实现可分别调用s同名how方法
 */
class DemoC extends InterfaceB{
    @Override
    public  void show(){
        System.out.println("抽象方法");
    }
    private class DemoA implements InterfaceA{
        @Override
        public  void show(){
            System.out.println("接口方法");
        }
    }
    public void show1(){
        new DemoA().show();
    }
}

 

posted @ 2020-02-27 11:33  小小吸血鬼  阅读(205)  评论(0编辑  收藏  举报