java 接口(interface)
来源:互联网 发布:龙珠刷人气软件 编辑:程序博客网 时间:2024/05/16 01:27
1、 接口的概念
抽象类可以理解为是从多个类中抽象出来的模板,不但允许有抽象方法,还可以有变量和普通方法等。如果抽象的更彻底,只留下常量和抽象方法,则此时的抽象类有了新的名字:接口。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含共有的静态常量和共有的抽象方法的定义,而没有成员变量和方法的实现。(在jdk1.7及之前)【java8新特性中 允许接口中有方法体】
接口是抽象方法和静态常量的集合!
2、 接口的使用
2.1 接口的声明语法
说明:
1. 权限修饰符,和class的权限修饰符相同,只有public和default两种。如果是default,则对同一包内其他类或接口可见。
2. interface 标示接口的关键字。
3. extends 后面跟接口列表,表示该接口继承的父接口。接口只能继承接口,不能继承类。多个父接口之间用英文的”,”(逗号)隔开。
4. 声明常量时可以像声明变量一样声明,但是系统会自动把该变量转成常量
5. 声明抽象方法。修饰符可以完全省略,系统会默认接口中的所有方法均是public abstract的,如果一定要添加修饰符,只能添加public和abstract
2.2 接口的实现类
由于接口只有抽象方法,所以接口与抽象类一样不能直接创建对象。我们一般说抽象类的子类,说接口的实现类。
一个类实现接口使用关键字implements。语法格式:
[public][abstract] class 类名 implements 接口1, 接口2 …{
}
2.3 接口的使用规则
1. 实现接口必须使用关键字implements。
2. 一个人可以具有多项能力,一个类可以实现多个接口,多个接口之间使用英文逗号隔开。
3. 类实现接口支持多实现。实现类必须实现所有接口的所有抽象方法,如果不能完全实现,则该类必须标记为抽象类。
4. 一个类实现多个接口的同时,还可以来继承一个类。继承类的时候写法是:
必须先写继承,再写实现。
2.4 接口的使用用途
1. 通过接口实现不相关类的相同行为,而无需考虑这些类之间的关系。
2. 通过接口指明多个类需要实现的方法
3. 通过接口了解对象的交互界面,而无需了解对象所对应的类
4. 使用接口,具体代码可以不依赖具体实现类,当具体实现类有变化时,代码不需调整。使用接口使软件更容易扩展。
抽象类可以理解为是从多个类中抽象出来的模板,不但允许有抽象方法,还可以有变量和普通方法等。如果抽象的更彻底,只留下常量和抽象方法,则此时的抽象类有了新的名字:接口。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含共有的静态常量和共有的抽象方法的定义,而没有成员变量和方法的实现。(在jdk1.7及之前)【java8新特性中 允许接口中有方法体】
接口是抽象方法和静态常量的集合!
2、 接口的使用
2.1 接口的声明语法
[public] interface 接口名 [extends 父接口1, 父接口2] { //零到多个常量定义… int MAX = 1; //定义变量,系统会自动添加public static final,把变量变成常量 public static final int MAX1 = 1; //与上面定义的效果一样 //零到多个抽象方法定义… void speak(); //声明抽象方法,可以省略 public 和abstract的修饰符 public abstract void speak1(); //与上面效果一样 String test( int a); //可以有返回值,也可以传递参数 }
说明:
1. 权限修饰符,和class的权限修饰符相同,只有public和default两种。如果是default,则对同一包内其他类或接口可见。
2. interface 标示接口的关键字。
3. extends 后面跟接口列表,表示该接口继承的父接口。接口只能继承接口,不能继承类。多个父接口之间用英文的”,”(逗号)隔开。
4. 声明常量时可以像声明变量一样声明,但是系统会自动把该变量转成常量
5. 声明抽象方法。修饰符可以完全省略,系统会默认接口中的所有方法均是public abstract的,如果一定要添加修饰符,只能添加public和abstract
2.2 接口的实现类
由于接口只有抽象方法,所以接口与抽象类一样不能直接创建对象。我们一般说抽象类的子类,说接口的实现类。
一个类实现接口使用关键字implements。语法格式:
[public][abstract] class 类名 implements 接口1, 接口2 …{
}
2.3 接口的使用规则
1. 实现接口必须使用关键字implements。
2. 一个人可以具有多项能力,一个类可以实现多个接口,多个接口之间使用英文逗号隔开。
3. 类实现接口支持多实现。实现类必须实现所有接口的所有抽象方法,如果不能完全实现,则该类必须标记为抽象类。
4. 一个类实现多个接口的同时,还可以来继承一个类。继承类的时候写法是:
必须先写继承,再写实现。
2.4 接口的使用用途
1. 通过接口实现不相关类的相同行为,而无需考虑这些类之间的关系。
2. 通过接口指明多个类需要实现的方法
3. 通过接口了解对象的交互界面,而无需了解对象所对应的类
4. 使用接口,具体代码可以不依赖具体实现类,当具体实现类有变化时,代码不需调整。使用接口使软件更容易扩展。
比较接口与抽象类:
阅读全文
0 0
- java接口(interface)
- Java- 接口(interface)
- Java 接口(interface)
- java 接口(interface)
- java 中的接口(interface)
- Java中的接口(interface)
- Java中的接口(interface)
- Java中的接口(interface)
- Java中的接口(Interface)
- java中接口(interface)
- Java中的接口(interface)
- JAVA(十五)--接口INTERFACE
- JAVA基础-接口(interface)
- Java基础知识-----接口(interface)
- Java中的接口(interface)
- Java 接口(interface)多态性
- Java基础--接口(Interface)
- java中的接口(interface)
- 欢迎使用CSDN-markdown编辑器
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 正则易懂版
- 块状元素行内元素和行内替换元素
- 杭电acm—1058 Humble Numbers
- java 接口(interface)
- Tensorflow深度学习之十:Tensorflow实现经典卷积神经网络AlexNet
- 相隔一段时间之后才可以执行某一事件的功能实现
- 完美解决SwipeRefreshLayout与WebView冲突
- leetcode--第5章--树-5.1二叉树的遍历--5.1.1 binary tree preorder traversal
- Git(二)
- JS常识总结20170727
- 20岁生日
- gcc的__attribute__((section(“”)))属性含义