专注人工智能在金融领域的应用

Java接口设计模式

Java不允许多重继承,一个子类只能有一个父类。为了弥补这个不足,java提供了接口机制,允许实现多个接口。注意:如果想用接口,则必须实现接口的所有方法。

面向接口编程,在多人协作开发的时候尤为重要,大家只需要按照规定的接口进行开发就可以了,而不需要关心接口的具体实现,针对不同的业务,接口可以对应多个实现。面向接口编程可以提高程序的复用率,增加程序的快维护性和可扩展性。

Java接口和Java抽象类有什么区别呢?

  1. Java抽象类可以提供某些方法的部分实现,而Java接口不可以。这是Java抽象类的一个非常有用的优点,比如:向一个抽象类里面加入一个新的具体方法时,它的所有子类都将拥有这个新的方法,而Java接口则做不到这一点。如果向一个Java接口里面增加一个新的方法,那么所有实现这个接口的类都无法通过编译,因为实现这个接口的所有类都必须实现这个方法才行,这显然是Java接口的缺点。
  2. 因为Java不允许多重继承,因此一个类只能继承一个抽象类。而一个类却可以实现任意多个接口,这样的话这个类就可以有多种类型了,这表现出了接口的优点。Java接口是定义混合类型的理想工具,混合类表明了一个类不仅仅具有某个主类型的行为,还具有其它类型的行为。
  3. 结合1和2中抽象类和Java接口的优点, 最精典的设计模式就出来了:声明类型的工作仍然由Java接口承担,但是同时给出一个 Java抽象类,且实现了这个接口,而其他同属于这个抽象类型的具体类可以选择实现这个Java接口,也可以选择继承这个抽象类,也就是说在层次结构 中,Java接口在最上面,然后紧跟着抽象类,哈,这下两个的最大优点都能发挥到极至了。这个模式就是“缺省适配模式”。

任何一个设计模式都是和抽象分不开的,而抽象与Java接口和抽象Java类又是分不开的。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>