第九章 接口

来源:互联网 发布:淘宝客服奖惩标准 编辑:程序博客网 时间:2024/06/03 23:02

1、包含抽象方法的类叫做抽象类,如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的,否则编译器将会报错

2、抽象类不能有对象

3、仔细研究第210页的关于策略模式、适配器模式、代理模式的例子

4、一个类继承一个父类,同时实现了几个接口,那么extends关键字必须在implements关键字之前

5、一个类继承一个父类A,同时实现了接口B,假如接口B有一个方法C,且改方法C在父类A中有同名方法(不是抽象方法),那么在子类中并不一定需要实现接口B中的方法C,如果子类的对象调用了接口B的C方法,则实际执行的是父类中的同名方法

interface CanFight {
  void fight();
}


interface CanSwim {
  void swim();
}


interface CanFly {
  void fly();
}


class ActionCharacter {
  public void fight() {}
}


class Hero extends ActionCharacter
    implements CanFight, CanSwim, CanFly {
  public void swim() {}
  public void fly() {}
}


public class Adventure {
  public static void t(CanFight x) { x.fight(); }
  public static void u(CanSwim x) { x.swim(); }
  public static void v(CanFly x) { x.fly(); }
  public static void w(ActionCharacter x) { x.fight(); }
  public static void main(String[] args) {
    Hero h = new Hero();
    t(h); // Treat it as a CanFight
    u(h); // Treat it as a CanSwim
    v(h); // Treat it as a CanFly
    w(h); // Treat it as an ActionCharacter
  }
}

6、接口中的成员变量不能是空的final,但是可以被非常量表达式初始化

Random RAND = new Random(47);
  int RANDOM_INT = RAND.nextInt(10);

7、嵌套接口,p218,未能理解

0 0
原创粉丝点击