阅读笔记--java编程思想第四版 --接口嵌套

来源:互联网 发布:韩剧推荐 知乎 编辑:程序博客网 时间:2024/06/08 00:25
/** * 该类是用于说明嵌套接口 */class A{    interface B{        void fun();    }    public class BImp implements B{        public void fun(){}    }    private class BImp2 implements B{        public void fun() {}    }    public interface C {        void fun();    }    class CImp implements C{        public void fun() {}            }    private class CImp2 implements C{        public void fun() {}    }    private interface D{        void fun();    }    private class DImp implements D{        public void fun(){};    }    public class DImp2 implements D{        public void fun() {}    }    public D getD(){return new DImp2();}    private D dRef;    public void receiveD(D d){        dRef = d;        dRef.fun();    }}interface E{    interface G{        void fun();    }    public interface H{        void f();    }    void g();}public class NestingInterfaces {    public class BImp implements A.B{        public void fun(){}    }    class CImp implements A.C{        public void fun(){};    }    class EImp implements E{        public void g(){};    }    class EGImp implements E.G{        public void fun() {        };    }    class EImp2 implements E{        public void g(){}        class EG implements E.G{            public void fun() {}        }    }    public static void main(String[] args) {        A a = new A();        /*A.D d = a.getD(); //D为私有类,外面的类没有权限访问 */         /*A.DImp2 d2 = a.getD();  */        /*a.getD().fun();*/        a.receiveD(a.getD());    }}

1、文中提到:实现一个priavate接口只是一种方式,它可以强制该接口中的方法定义不要添加任何类型的信息(也就是说不允许向上转型)。这一句话不太了解,希望有大神帮忙解答,感激不尽。
2、接口中嵌套的接口也是public类型的。
3、getD()方法中,因为返回的类型D是A类中的私有类,所以在main方法中,不能申明A.D类型的对象,又因为getD()方法返回的D为private类型,所以不能调用fun()方法。

备注:小弟第一次写博客,且是一个初学者,如有理解错误,请各位大侠指点,谢谢!

0 0