接口 interface 以及适配器设计模式原理

定义接口用的不是class,而是interface。

接口中常见的成员:而且这些成员都是固定的修饰符。

1、全局变量:public static final (不写的时候java会默认添加上去,但是阅读性不好)

2、抽象方法:public abstract

接口中的成员都是公共权限的。

类与类之间是继承关系,类与接口之间是实现关系。

接口实现implements

接口不可以实例化,只能由实现了接口的子类覆盖了接口中所有的抽象方法后,该子类才可以实例化,否则这个子类就是一个抽象类。

在java中不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制进行改良,在java中变成了多实现。

一个类可以实现多个接口。

一个类在继承一个类的同时还能实现多个接口。

抽象类和接口的异同点:

相同点:都是不断向上抽取而来的。

不同点:

  1、抽象类需要被继承,而且只能单继承

    接口需要被实现,而且可以多实现

  2、抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法

    接口中只能定义抽象方法,必须由子类去实现

  3、抽象类的继承,是is a关系,在定义该体系的基本共性内容。

    接口的实现是 like a 关系。在定义体系额外功能。

一个类如果实现接口,则必须实现接口中的所有抽象方法,除非这个类是一个抽象类(适配器)。

适配器设计模式:

使用抽象类和接口同时完成。先用抽象类实现接口中的空方法,再由实体类继承这个抽象类。

interface MyInter1{ public void show1();}

interface MyInter2{ public void show2();}

interface MyInter3{ public void show3();   public void show4();}

//适配器

abstract class Adapter implements MyInter1,MyInter2,MyInter3{

  public void show1();//空实现

  public void show2();

  public void show3();

  public void show4();

}

//MyClass类只想重写方法1,3

Class MyClass extends Adapter {

  public void show1();

  public void show3();

}

时间: 2024-10-21 13:13:37

接口 interface 以及适配器设计模式原理的相关文章

JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来聊聊final这个关键字 final可以修饰类,方法和变量 final修饰的类不可以被继承 final修饰的方法不可以被覆盖 final修饰的变量是一个常量,只能被赋值一次 内部类只能访问被final修饰的局部变量 final,故名思意,就是最终的意思,由以上的五种特性,不过final的出现,也是有

java开发中使用的适配器设计模式

package shipeiqidemo; /* * java中常见的一种设计模式:适配器 * 来源:一个子类要去实现接口,那么就必须要实现接口全部的抽象方法,有的时候抽象方法 * 很多,但是又用不着去全部实现,所以此时就定义一个抽象类去实现这个接口,然后通过子类去继承 * 这个抽象类,这个抽象类就简称适配器 */ public class shipeiqidemo { public static void main(String[] args) { //zhuozi zz = new zhuo

6.适配器设计模式

public interface PinPlug{ void charge(); } 1.概述 适配器设计模式针对如下情况:-----客户需要用某个接口,但是能提供服务的接口没有实现那个接口. 客户端只能使用某种接口---客户端是台灯,接口是双孔插座 服务端----服务类是三孔插座 适配器类是服务类和客户端中间的一个桥接类---插线板 2.代码 适配器模式的分类: 类适配器----通过继承实现 对象适配器--通过组合实现 2.1类适配器 功能描述:为台灯充上电照明(台灯只能使用双孔插座) pub

适配器设计模式

类的适配器模式 对象的适配器模式 接口的适配器模式 思想: 将类的某个接口转换成客户端期望的另一个接口表示 目的: 消除由于接口不匹配造成的类的兼容性问题 1.UML图之类的适配器设计模式 public class Source { 2. 3. public void method1() { 4. System.out.println("this is original method!"); 5. } 6.} [java] view plaincopy 1.public interfa

适配器设计模式简介

适配器模式是将将一个类的接口适配成用户所期待的. 生活中适配器也无处不在.常见的是电源适配器.一个15V笔记本通过电源适配器可以接在220V的电压下使用. 想象这么一个需求场景.在项目早期建立了很多类库,这个类库中方法众多,代码复杂,加入新的方法后或者修改旧有方法会使得原类库中方法大幅修改.(或者类库源码找不到了,也难以进行修改).那么此时可以重新建立一个新接口,通过适配器而使用原有方法. 适配器模式就是将一个接口转化为客户希望的另一个接口. 适配器的常用分类: 现在主要介绍单向适配器和单接口适

适配器设计模式初探(Java实现)

本篇随笔主要介绍Java实现设配器设计模式. 先来看下待解决的问题: (图片转自http://blog.csdn.net/jason0539) 由上图的情况可知,欧洲壁式插座只有三足插口,如果我们想要使用的是两足插口,就需要适配器来进行转换.(适配器一面是三足插口,一面是两足插口) 适配器模式一般有两种实现方式: 1.类适配器 2.对象适配器. 先来看下类适配器的UML图:  客户端只能操纵 Target 接口的 Request 方法来进行需要的操作(当然这里就相当于调用 Request 方法使

【ThinkingInJava】12、适配器设计模式

/** * 书本:<Thinking In Java> * 功能:适配器设计模式 * 文件:Processor.java * 时间:2015年4月2日20:36:59 * 作者:cutter_point */ package Lesson9Interfaces.interfaceprocessor; public interface Processor { String name(); Object process(Object input); } /** * 书本:<Thinking

设计模式之----------适配器设计模式

<?php /** **适配器模式:将需要把一类对象转化成另一类对象 **把源接口转化为目标接口 **适用范围:1.存在一个类,你想应用,接口却不是你想要的 **2. ****/ //目标接口 interface Target{ public function simpleFunction1(); public function simpleFunction2(); } //源接口 class Adaptee{ public function simpleFunction1(){ echo 's

【ThinkingInJava】14、适配器设计模式 (2)

/** * 书本:<Thinking In Java> * 功能:适配器设计模式 * 文件:FilterAdapter.java * 时间:2015年4月2日20:52:07 * 作者:cutter_point */ package Lesson9Interfaces.interfaceprocessor; import Lesson9Interfaces.filters.BandPass; import Lesson9Interfaces.filters.Filter; import Les