1.接口

  a.关键字:interface

public interface Serviceable{
//TODO
}

  b.属性:只能是 公共 静态 常量 属性——就算不写这三个关键字,也是默认这种情况

/* public static final */ int a = 10;

  c.构造:接口不能有构造(这说明接口不能产生对象)

  d.行为:只能是 公共 的 抽象 方法——就算不写修饰符,也默认这种情况

/* public abstract */ void turnUpEngine (int a);

  e.意义:体现在方法上——让没有继承关系的类共享这些行为,各有各的具体实现

  f.接口的实现:类实现接口,使用implements关键字,并且重写接口中的抽象方法

public class NewTank implements Serviceable{
//TODO
}

2.接口的注意点:

  a.类实现接口,且是多实现:

    ①类在继承的同时,也可以做实现接口,而且类可以实现多个接口

    ②类实现接口,必须重写节后中所有的抽象方法,否则该类是一个抽象类

  b.接口可以继承接口,且是多继承:

    ①尽量定义小接口(最小接口原则,接口隔离原则)

    ②如果没有实现接口,就算具有相同的方法,也不能用接口的引用去指向它的对象

3.抽象类 与 接口

        抽象类                      接口

  a.定义语法:①abstract class 定义              interface 定义

        ②抽象方法必须写abstract            抽象方法可以

        ③可以有变量属性、构造方法           不能有变量属性,属性只能是公共静态常量,不能有构造方法

        ④可以有实现了的方法              JDK1.7之前不能有实现了的方法;JDK1.7之后可以有实现了的方法,但必须加default

  b.使用语法:用子类继承抽象了extends(单)         用实现类实现接口implements(多);用子接口继承接口extends(多)

  c.设计层面:与生俱来                     附属添加的行为(尽量定义小接口)

最新文章

  1. react-native DatePicker日期选择组件的实现
  2. POJ1112 Team Them Up![二分图染色 补图 01背包]
  3. spring-boot-starter-amqp踩坑记
  4. Java分布式开发
  5. 通过java来批量生成身份证号
  6. SQL Server 事务处理 回滚事务
  7. Object c中的alloc和init问题
  8. 无法识别的属性“targetFramework”。请注意属性名称区分大小写。错误分析以及解决方案
  9. [swift]可选类型
  10. Note | javascript权威指南[第六版] 第2章:词法结构
  11. TCP/IP 2MSL
  12. 老大哥在看着你!我国部署超2000万个AI监控系统
  13. ES6这些就够了
  14. Luogu P5285 [十二省联考2019]骗分过样例
  15. Java核心技术第五章——1.类、超类、子类(2)
  16. 好代码是管出来的——使用GitHub实现简单的CI/CD
  17. spring kafka生产、消费消息
  18. java & jdk
  19. uoj#272. 【清华集训2016】石家庄的工人阶级队伍比较坚强
  20. 用 tornado 做网站 (7)

热门文章

  1. Bubble Cup 8 finals G. Run for beer (575G)
  2. ReportView报表开发记录(一)
  3. Codeforces Round #353 (Div. 2) ABCDE 题解 python
  4. 深入浅析JAVA注解
  5. Sicily 1444: Prime Path(BFS)
  6. ThinkPHP3.2.3多文件上传,文件丢失问题的解决
  7. php下载远程文件方法~
  8. Android 自动安装脚本
  9. Home 安转beta版软件
  10. 【NodeJs环境下bower】如何更改bower_components文件夹的位置