JAVA中的接口

来源:互联网 发布:中国制造的实力 知乎 编辑:程序博客网 时间:2024/06/02 07:01

1、接口定义

接口是由抽象方法和全局常量组成的一种特殊的类,接口用interface定义,如下是接口A

interface  A{

public static final NAME = "我的名字是天悦"; //全局常量

public abstract void getName(); // 抽象方法

public abstract void printName();//抽象方法

}

实际上,由于接口中只能出现抽象类和全局变量,所以接口的定义可以简化如下:

interface A{

String NAME = "我的名字是天悦";

void getName();//也可加上public 

void printName();

}

2、使用接口的原则

接口只能被继承,不能被实例化,接口的继承叫做实现接口,类B实现以上的A接口,实现代码如下:

class B implements A{

public void getName(){

system.out.println(NAME);

}

public void printName(){

system.out.println("名字:"+NAME);

}

}

一个类可以实现多个接口,比如类C能同时实现以上的接口A,以及接口D,代码如下:

interface D{

public void fun();

}

class C implements A,D{

public void getName(){

……

}

public void printName(){

……

}

public void fun(){

……

}

}

一个类既要继承父类,又要实现接口的话,格式如下

class E extends F implements G,H{


}

接口不能继承抽象类,抽象类可以实现接口,

abstract class J implements A{

public abstract void getJ();

}

class K extends J{

public void getName(){

……

}

public void printName(){

……

}

public void J(){

……

}

}

接口和接口之间是继承关系,一个接口可以继承多个接口,

interface P extends A,D{

public void getP();

}

3、接口的实例化

接口和抽象类一样,可以通过对象多态性进行实例化,代码如下:

interface Person{

String SEX = "女";

public void say();

public void run();

}

class Student implements Person{

public void say(){

system.out.printn("我是学生");

}

public void run(){

system.out.println("我跑的很快");

}

}

public class Test{

public static void main(String args[]){

Person p = new Student();

}

}

4、接口的应用

接口的作用是,定义一种标准。如下,定义一个连接电脑打印机的标准,打印机和U盘插入USB口都要遵守这个标准。

public class Computer{
public static void main(String srgs[]){
MyComputer.plugin(new Flash());
MyComputer.plugin(new Print());
}
}
class MyComputer {
public static void plugin(USB u){
u.start();
u.stop();

}
}
interface USB{
public void start();
public void stop();
}
class Flash implements USB{
public void start(){
System.out.println("USB开始");
}
public void stop(){
System.out.println("USB结束");
}
}
class Print implements USB{
public void start(){
System.out.println("打印机开始");
}
public void stop(){
System.out.println("打印机结束");
}
}

代码的执行结果如下:



1 0
原创粉丝点击