我的博客
欢迎来到我的博客
bunny.icu

第9章接口

第9章接口
  1. 包含任何抽象方法的类一定是抽象类,不包含抽象方法的类也可以是抽象类。
  2. 声明为抽象类,可以阻止创建这个类的对象。
  3. 抽象类和抽象方法用abstract声明,抽象方法没有方法体,连花括号都没有。
  4. 继承抽象类必需实现所有抽象方法。
  5. 继承于抽象类的子类,可以向上转型为“抽象类的对象”。
  6. 接口中所有的方法都是抽象方法,不需要用abstract来修饰。
  7. 抽象方法实现接口可以不实现接口中的方法。
  8. P174-178的完全解耦看不懂,暂时跳过。
  9. 没有任何域接口相关的存储,所有类可以实现多个接口,还可以同时继承一个类。实现的时候所有的抽象方法都要实现,除非已经在父类中实现。
  10. 接口可继承多个接口。
  11. 一个类实现了接口,那么这个类的实例可以向上转型为接口。
  12. 接口可以继承多个接口,但如果被继承的多个接口具有同名不同类型返回值的抽象方法,编译器就会报错。
  13. 如果一个类的构造器的参数是接口,那么创建这个类的实例需要的参数,就是实现了这个接口的类的实例。
  14. 我们可以在任何现有类之上添加新的接口,所以这意味着让方法接受接口类型,是一种让任何类都可以对该方法进行适配的方式。这就是使用接口而不是类的强大之处。
  15. 接口中的任何域都自动是public static final的。
  16. 在Java SE5之前,接口是创建常量组的唯一途径,但在Java SE5之后,可以用更便捷的枚举。接口的域,似乎作用不大。
  17. 接口中的域可以用常量和非常量表达式初始化,不能是空final,因为接口没有像类一样的构造方法。
  18. 域是static的,会在第一次被加载时初始化。
  19. 接口可以嵌套在类或其他接口中。嵌套在类中的接口可以声明为private或public,private接口可以被实现为private或public。嵌套在接口中的接口只能是public的。
  20. 如果设计中需要某个接口,必须优先了解它,否则,不到迫不得已,不要将接口放到设计中。

版权声明


本作品系原创, 转载须遵循 CC BY-NC-ND 4.0 许可协议
本文标题:第9章接口
本文链接:https://www.bunny.icu/archives/1165

推荐文章

发表评论

textsms
account_circle
email

bunny.icu

第9章接口
第9章接口
扫描二维码继续阅读
2018-09-09