Java接口
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:
作者:陈剑波
撰写时间:2019年05月29日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Java接口
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合, 接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象 的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的 所有方法,否则就必须声明为抽象类。
在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定 在一个以此接口实现的对象。
接口的继承:
一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends 关键字,子接口继承父接口的方法。
定义接口的语法格式:
Java中接口可以继承多个接口
[修饰符] interface 接口名 extends 父接口1,父接口2,...... { |
//零到多个静态常量定义... |
//零到多个抽象方法定义.... |
} |
接口的特性:
接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字;
接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字;
接口中的方法都是公有的;
编译时自动为接口里定义的方法添加public abstract修饰符;
Java接口里的成员变量只能是public static final共同修饰的,并且必须赋初值,可以不写public static final,编译的时候会自动添加;
示例代码:
/** |
* @author KO.ZERO |
*声明一个接口,使用interface关键字,接口中的所有方法 |
*都必须只声明方法标识,不要去声明具体的方法体,因为具体的方法体 |
*的实现是由继承该接口的类来去实现的,因此,接口并不用管具体的实现。 |
*/ |
public interface InterfaceOne {//一个简单的接口:拥有全局变量和抽象方法。 |
//编译时自动为接口里定义的成员变量增加public static final修饰符 |
int a = 23;//全局变量 |
//编译时自动为接口里定义的方法添加public abstract修饰符 |
void Slamdunk();//抽象方法 |
} |
接口的实现:
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后 面。
实现接口的语法格式:
Java中类可以实现多个接口
[修饰符] class 类名 implements 接口1[, 接口2, 接口3..., ...] { } |
示例代码:
/** |
* @author KO.ZERO |
*InterfaceOneImpl类实现了上面定义的InterfaceOne接口,既然要实 |
*现接口,就要实现接口规定的方法,只有把接口给你规定的抽象方法都 |
*实现了,才承认你这个类实现了这个接口,实现了这个接口代表的某种功能。 |
*InterfaceOneImpl实现了接口中规定的Slamdunk()方法。 |
*/ |
public class InterfaceOneImpl implements InterfaceOne { |
@Override |
public void Slamdunk() { |
// TODO Auto-generated method stub |
System.out.println("灌篮高手作者:井上雄彦"); |
} |
} |
public class TestDemo { |
public static void main(String[] args) { |
InterfaceOneImpl interfaceOneImpl=new InterfaceOneImpl(); |
interfaceOneImpl.Slamdunk(); |
} |
} |
运行结果:
灌篮高手作者:井上雄彦 |