美文网首页
Java内部类

Java内部类

作者: NowBurn | 来源:发表于2018-11-26 12:10 被阅读0次

    1.定义

    可以将一个类的定义放在另一个类的定义的内部,这就是内部类

    2.为什么要用内部类

    1. 内部类允许继承多个非接口类型(具体类和抽象类)

    每个内部类都能独立地继承一个接口的实现,所以无论外围类是否已经继承了某个接口的实现,对于内部类都没有影响。
    内部类提供的,可以继承多个具体的或抽象的类的能力,它使得多重继承的方案变得完整。
    需求:必须在一个类中以某种方式实现两个接口。可以使用单一类实现两个接口,也可以使用内部类

    interface A{}
    interface B{}
    
    class X implements A,B{}
    class Y implements A{
      B makeB(){
        return new B(){};
      }
    }
    

    如果拥有的是抽象的类或具体的类,只能使用内部类才能实现多重继承

    class D{}
    abstract class E {}
    class Z extends D{
        E makeE() {
            return new E(){};
        }
    }
    
    public class MultiImplementation {
        static void taskD(D d){}
        static void taskE(E e){}
    
        public static void main(String[] args) {
            Z z = new Z();
            taskD(z);
            taskE(z.makeE());
        }
    }
    

    2.

    ....待续

    相关文章

      网友评论

          本文标题:Java内部类

          本文链接:https://www.haomeiwen.com/subject/gdgvqqtx.html