Javase 接口
接口
接口的概念
语法
1.使用 interface 来定义一个接口。接口命名以大写 I 开头。
2.接口中的成员变量 默认时 public static final 的,一般情况下不写。
3.接口中的成员方法 默认时 public abstract 的, 一般情况下不写。
4.接口当中不可以有普通方法。
========================================================================
Java8后,允许在接口中定义一个 default 方法,允许抽象方法可以有具体实现(abstract 允许方法没有具体实现)
6.接口当中的方法如果是 static方法,也可以有具体的实现
7.接口不能通过 new关键字 实例化
8.类与接口通过 implements 实现关系。(作用与父子类继承相似)。
9.接口也可以发生向上转型 和 动态绑定
10.当一个类实现接口中的方法时候,当前类中的方法,不能不加 public。
11.接口中不能有构造方法和代码块
12.接口虽然不是类,但是会产生独立的文件,接口编译完后字节码的后缀格式也是 class。
13.如果类没有实现接口中的所有抽象方法,则类 必须设置为抽象类
14.java8中接口包含 defalt方法
代码
接口测试
2.然后new一个Mouse类让类与接口实现关系,并且重写开启,与关闭的方法
4.new一个Computer类,我们通过这个类实现与key类和Mouse类建立联系
实现多个接口
实现多态
继承表示的是 谁属于谁的意思
接口表达的是 谁具有什么行为
我们设计多个接口有什么好处呢?
有了多个接口后,我们就不必局限于类的“共同属性”而是关注这个类是否具有某种行为;
例如:狗,猪,鸟,都可以归为我们的动物类,并且同时具备:飞 || 跑 || 游泳;等行为,我们也可以设计一个机器人类虽然不具备“动物类”的属性,但是具备某些行为
接口间的继承
我们已经知道 我们需要继承时会用到 extends 这个关键字;
接口之间的继承也会用到;
我们可以看到 接口C同时继承了 接口A 与 接口B 而,我们在学习类的时候,已经知道Java不支持多继承;这是因为在 接口中 extends 并不是继承的意思;而是“拓展”意为:接口C具备了 B 和 C的功能;接口间的继承相当于把多个接口合并在了一起
总结
1. 定义接口(师傅开了一个武馆)
师傅是 “武功掌门人”,他发给徒弟一本武功秘籍,并指定习武规则:
规则 1:必须学会 武功1 并且能流畅使出;
规则 2:..................
2. 实现接口(徒弟 向师傅 学习武功)
徒弟按照 师傅的 规则 学习了武功;
3. 调用接口(观众 找师傅表演 武功)
观众想看 师傅表演武功,师傅为了 知道神秘,不会直接上场表演,而是指定自己的徒弟表演
更多推荐

所有评论(0)