Java笔记(五)

1.抽象类和抽象方法

包含抽象方法的类叫做抽象类。若果一个类包含一个或多个抽象方法,该类必须被限定为抽象的,即抽象类中的方法可以不都是抽象方法。

2.Interface

Interface关键字产生一个完全抽象的类,它根本就没有任何具体的实现。Interface不仅仅是一个极度抽象的类,因为它允许人们通过创建一个能被向上转型为多种基类的类型。
当要使用一个接口时,在接口中定义的方法必须被定义为public。

3.完全解耦

只要一个方法操作的是类而不是接口,那么你就只能使用这个类或其子类,若果你想将这个方法应用于不再此继承结构中的某个类,就可以使用接口实现。

4.接口与设计模式

(1)接口的一种常见用法是策略设计模式(strategy pattern):

创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,这类方法包括所要执行的算法中固定不变的部分。该方法接受一个同样是你指定的接口,你主要是声明:“你可以用任何你想要的对象来调用我的方法,只要你的对象遵循我的借口”。

(2)适配器模式(adapter pattern)

将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。比如你经常碰到的情况是你无法修改你要使用的类(发现而并非你创建的类库),此时你可以通过继承此类并且实现必要的借口来创建适配的类。

(3)工厂方法设计模式(factory method pattern)

生成遵循某个接口的对象的典型方式就是工厂方法设计模式。与直接调用构造器不同,我们在工厂对象上调用的是创建方法,而该工厂对象生成接口的某个实现的对象。通过这种方式,我们的代码将完全与接口的实现分离,我们就可以透明的将接口的实现替换成另一个实现。这种额外的间接性的一个常见的原因是想要创建框架。

(4)代理模式(proxy pattern)

代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
http://voole.iteye.com/blog/363885

(5)单例模式(Singleton pattern)

单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。

你可能感兴趣的:(java,设计模式,算法,框架,工作)