Java 接口
接口的基础语法:
1.接口也是一种引用数据类型。
2.接口是完全抽象的。
3.接口怎么定义,语法是什么呢?
[修饰符列表] interface 接口名字 { }
4.接口支持多继承。
5.接口中只包含两部分内容,一部分是常量,一部分是抽象方法。
6.接口中所有的元素都是public修饰的(也就是都是公开的)。
7.接口中的抽象方法定义时,public abstract修饰符是可以省略的。
8.接口中的方法都是抽象方法,所以接口中的方法不能有方法体。
9.接口中的常量 public static final 可以省略。
10.当一个非抽象的类实现接口的话,必须将接口中的所有方法全部实现(覆盖、重写)
11.一个类可以同时实现多个接口。
这种机制弥补了java中单继承带来的缺陷。
12.如果继承和实现都存在的话继承在前,接口在后
extends在前面,
implements在后面
13.使用接口,在写代码的时候,可以使用多态(父类型引用指向子类型对象)。
接口在开发中应用:
接口是完全抽象的;
要求面向接口编程;
有了接口,就有了扩展力,可插拔,扩展力强
来一个例子:
package com.advancedlearning.Test01; //定义一个接口,名字是Action public interface Action { // 飞的动作方法 void fiy(); // 游泳的动作方法 void swim(); }
package com.advancedlearning.Test01; //子类鸟类实现父类接口 public class Bird implements Action{ // 重新父类接口中的飞的方法 @Override public void fiy() { System.out.println("小鸟在天空飞翔"); } //重写父类接口中的游泳的方法 @Override public void swim() { System.out.println("小鸟会游泳?"); } }
package com.advancedlearning.Test01; public class Test{ public static void main(String[] args) { //父类型引用指向子类型对象,实例化一只鸟,这里是多态的用法 Action b =new Bird(); //调用子类型对象的方法 b.fiy(); b.swim(); } }
类型与类型之间的关系(记住)
is a 、has a、 like a
is a:
Cat is a Animal (喵喵是一个动物)
is a 凡是满足这个的就是表示继承关系
has a :
I has a pen(我有一只笔)
凡是满足这个的就表示关联关系,关联关系一般以“属性”形式存在
like a:
Cooker like a FoodMenu(厨师像一个菜单一样 )
凡是满足这个关系的就表示“实现关系”
通常是:类实现接口
ps: 接口在jdk1.8之后,可以使用static和default两个关键字修饰方法
本文来自博客园,作者:程序员hg,转载请注明原文链接:https://www.cnblogs.com/hg-blogs/p/15500484.html