接口

接口

  • 开闭原则:一个好的设计,对于扩展来说,应该是开放的,对于修改来说,应该是关闭的。
  • 作用:
    • 1.在没有继承关系的类之间,也可以让它们共享行为。//对java继承的一种补充。
    • 2.为java中的类与类之间的单继承,提供多实现。
  • 关键字
    • interface
    • xxxable 类名加able
    • 访问修饰符只能是public 或默认
  • public interface Serviceable{
    • public static final int A = 100;
      • 属性/不能为变量,只能是公共的静态常量
    • int B = 1000;
      • //就算一个修饰符不写,也会默认公共的静态常量
    • 构造方法–接口没有构造方法,说明不能直接产生对象
    • public abstract void changeoil();
      • 行为方法–只能有抽象方法
    • “ public default void turnupEnginee();
      • —–在JDK1.8中,接口可以拥有实现方法,只不过要加default关键字”
    • void turnupEnginee();
      • 就算不写public abstract 关键字,也会默认公共的抽象方法。
        }

接口的用法

  • 1.接口继承接口 –允许多继承!(extends)
    • public interface Serviceable extends ChangeOliable,TurnupEngineeable{
      }
  • 2.类可以实现接口!(implements)
    • 使用implements 关键字,必须实现接口里面的所有抽象方法,否则这个类就是抽象类
    • 类实现接口是多实现,也就是一个类可以实现多个接口
    • public class Alto implements ChangeOilable,TurnupEngineeable{//抽象方法重写}
  • 接口引用指向实现类的对象,只能看到来自接口的方法。

设计

  • 设计师需要确认,把那些抽象方法写到父类,那些写到接口中去?
    • 把一个类与生俱来一脉相承的方法写到抽象类中去,把附属添加的行为写到接口中去!
    • 以面向对象的角度考虑,将一个类与自身的特征和行为和依赖于外部的可选特征和行为分离,让类尽可能的单纯,即解耦。
  • 判断程序好坏
    • 高内聚,低耦合(能做的事自己做,不要和别人发生关系)

接口和抽象的区别

  • 抽象类

    • 区别
    • 定义语法
      • 关键字//abstract class
      • 访问修饰符 //四种都可以
      • 定义属性 //可有任意属性
      • 构造方法 //有,可以有初始化块
      • 方法的实现 //可以实现方法
    • 使用语法
      • 可以被子类继承,单继承
    • 设计思想
      • 把一个类与生俱来一脉相承的方法写到抽象类中去,把附属添加的行为写到接口中去!
  • 接口

    • 区别
    • 定义语法
      • 关键字//interface
      • 访问修饰符 //只能用public 和默认
      • 定义属性 //只能有public staatic final常量
      • 构造方法 // 无构造,无初始化块
      • 方法的实现 //在JDK1.8中,接口可以拥有实现方法,只不过要加default关键字
    • 使用语法
      • 可以被接口继承,多继承,可以被实现类实现,多实现
    • 设计思想
      • 外部附属添加的行为定义在接口中
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值