阅读笔记--java编程思想第四版 --接口嵌套
2016-03-23 22:05
459 查看
/** * 该类是用于说明嵌套接口 */ 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()方法。
备注:小弟第一次写博客,且是一个初学者,如有理解错误,请各位大侠指点,谢谢!
相关文章推荐
- Java虚拟机体系结构与类加载器委托机制
- java中的equals方法与"=="运算符解说
- 我理解的--java 单例模式
- eclipse + sakai
- java 标准输入System.in
- JAVA学习笔记04
- Java的一些入门总结
- myeclipse 编码后无法保存 save could not be completed.
- 【java算法】二叉树遍历、求叶子数--用递归的方法
- 我的java学习之事件监听篇01
- mybatis 时间类型比较
- 简单的java学生管理系统
- Java为何大行其道
- Java中子类的继承性
- 【转】ACM中java的使用
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- java第二十节-字节流FileOutputStream-读
- Java虚拟机工作原理详解
- Java 獲取網站源碼
- 学习Java画板