第9章 接口
来源:互联网 发布:淘宝老式电影幕布 编辑:程序博客网 时间:2024/06/10 08:48
9.1 抽象类和抽象方法
仅有声明而没有方法体,强制要继承的下游类去具体实现该方法,则在该方法返回值前加abstract,以表明它是抽象方法。
拥有一个以上抽象方法的类必然是抽象类(也可以一个都没有,只在类名class前指定)
抽象类一定不可以用于创建对象,但可以用于创建引用(数组也是引用!!!),
用abstract基类引用指向子类对象后,再调用子类的方法,就不需要使用向下转型!否则必须进行向下转型(即向子类进行强制转换)。
9.2 接口
一个所有方法都是抽象方法的类,即接口。用于建立类之间的协议。
接口也可以包含域,这些域隐含是static,final。方法自动是public,abstract。
9.3 完全解耦(???)
1)创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,即策略设计模式 。传递进去的参数对象就是策略,“策略”包含变化部分。
2)适配器设计模式,适配器中的代码将接受你所拥有的接口,并产生你所需要的接口
9.4 Java中的多重继承
在导出类中,不强制要求必须有一个是抽象的或具体的基类,但只能从一个非接口类继承(放在最前面),可以从多个接口实现。
可以使用从非接口类继承而来的方法去满足对继承其他接口,必须要实现方法的要求。
使用接口的核心原因:为了能够向上转型为多个基类型。第二个原因是:防止客户端程序员创建该类的对象。
9.5 通过继承来扩展接口
在使用接口继承接口时,extends可以引用多个基类接口。
9.5.1 组合接口时的名字从突
在打算组合的不同接口中使用相同的方法名会出错。
9.6 适配接口
通过采用适配接口,从而在任何现有类之上添加新的接口,这就意味着让方法接受接口类型,是一种让任何类都可以对该方法进行适配的方式。
9.7 接口中的域
放入接口中的任何域都自动是public,static和final的,所以接口就成为一种很便捷的用来创建常量组的工具。(现已不常用)
9.7.1 初始化接口中的域
在接口中定义的域不能是“空final”,但是可以被非常量表达式初始化。由于是static的,所以在类第一次被加载时就初始化,值存储在该接口的静态存储区域中。
9.8 嵌套接口(用的少)
接口可以嵌套在类或其他接口中。
9.9 接口与工厂
生成遵循某个接口的对象的典型方法时:工厂方法。在工厂对象上调用的是创建方法,而该工厂对象将生产接口的某个实现的对象。从而可以创建框架
9.10 总结
正确的原则还是:优先选择创建类,而不是接口。从类开始,如果接口的必须性变得非常明确,那么就进行重构。
- 第9章 接口
- 第9章、接口
- 第9章 接口
- 《Thinkinginjava》第9章-接口
- [think in java] 第9章 接口
- 《Java编程思想》第9章 接口
- Thinking in Java 第9章 接口
- 《Java编程思想》--接口--第9章
- 第7章 接口
- 第2章 接口
- 第6章 WEB接口
- JAVA编程思想学习总结:第9章接口
- 第9章(1) 接口和抽象类
- [学习笔记][Java编程思想]第9章:接口
- JAVA完全参考手册(第8版) 第9章 包和接口
- 《C接口与实现》第 2 章 接口与实现
- 第9课 Go接口interface
- 第8章:接口与内部类
- Asp+Sql 对数据库总结
- dns 服务器架设
- EXT的入门谁来指点我
- C#代码规范
- 17个ASP编程基础典型代码
- 第9章 接口
- 智能导航技术的调查报告
- vs 工程目录设置等等
- 手把手教你做ASP.NET留言本
- 关于Web开发学习路线
- 十天学会ASP.net之实战系列(C#和Vb.net双版本)
- 【转】BEA Weblogic系列—Domain启动的默认行为
- 终于有了第一篇BLOG,真落后
- java图片处理 文字水印 图片水印 缩放 补白