java设计模式学习笔记第二章
2016-03-06 12:17
459 查看
本章介绍了接口的模式。有几道题记录一下。
挑战2.1 写出在java中抽象类和接口的区别。
1.一个类可以实现多个接口,但却只能继承最多一个抽象类。
2.抽象类可以包含具体方法;接口的所有方法都是抽象的。
3.抽象类可以声明和使用字段;接口则不能,但可以创建静态的final常量。
4.抽象类的方法可以是public、protected、private或者默认的package;接口的方法都是public。
5.抽象类可以定义构造函数;接口不能。
这些区别看似简单,但是都想出来可能需要点时间。
挑战2.3 列举一个接口,它包含的方法并不是要求实现该接口的类必须返回值,或者代表调用者执行若干操作。
一个类被注册成为事件的监听器时,这个监听器类会收到他们关心的通知,问不是调用者。例如,我们需要在触发MouseListener.mouseDragged()方法时采取某个动作,但对于同一个监听器而言,MouseListener.mouseMoved()方法却是一个空的实现。
第二章小结
接口的威力在于它描述了在类协作中它所期望与不期望的行为。接口与抽象类很相似,定义行为却不提供实现。
挑战2.1 写出在java中抽象类和接口的区别。
1.一个类可以实现多个接口,但却只能继承最多一个抽象类。
2.抽象类可以包含具体方法;接口的所有方法都是抽象的。
3.抽象类可以声明和使用字段;接口则不能,但可以创建静态的final常量。
4.抽象类的方法可以是public、protected、private或者默认的package;接口的方法都是public。
5.抽象类可以定义构造函数;接口不能。
这些区别看似简单,但是都想出来可能需要点时间。
挑战2.3 列举一个接口,它包含的方法并不是要求实现该接口的类必须返回值,或者代表调用者执行若干操作。
一个类被注册成为事件的监听器时,这个监听器类会收到他们关心的通知,问不是调用者。例如,我们需要在触发MouseListener.mouseDragged()方法时采取某个动作,但对于同一个监听器而言,MouseListener.mouseMoved()方法却是一个空的实现。
第二章小结
接口的威力在于它描述了在类协作中它所期望与不期望的行为。接口与抽象类很相似,定义行为却不提供实现。
相关文章推荐
- SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-006- 如何保持重定向的request数据(用model、占位符、RedirectAttributes、model.addFlashAttribute("spitter", spitter);)
- eclipse 安装struts2 插件
- 简要介绍JAVA8中的函数式编程;Brief Introduction to Functional Programming in Java 8
- 20145216史婧瑶《Java程序设计》第一周学习总结
- 20145216史婧瑶《Java程序设计》第一周学习总结
- Android Sdk 和ADT Eclipse安装配置步骤
- 安装Java jdk1.6或1.7的详细步骤和配置环境变量的另类办法
- java基础题目总结
- HDU—— 2005 第几天? (java版)
- Java 抽象类与接口区别
- hadoop源码分析环境搭建(win7+cygwin+jdk+ant+eclipse+Hadoop-1.0.0)
- Spring AOP(一)之Before增强处理
- Spring之占位符配置器
- Java集合框架之规则集
- 【J2EE】:Java EE应用的分层模型
- Spring之后处理器
- Java集合框架之概括
- leetcode:Remove Element 【Java】
- Java学习第一周博客
- Spark FrameWork源码研究