接口 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();

}

转载于:https://www.cnblogs.com/beulas/p/7878638.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值