接口

接口(interface)

实现接口(implements)

接口的特点:

1)接口不能实例化,接口中也不能有构造方法.

2)接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但是接口不能继承类.

3)接口中所有方法都是抽象方法.接口的方法都会自动用public abstract修饰,即接口中只有全局抽象方法.

4)接口中可以定义常量,不能定义变量.

5)接口中的属性都会用public static final修饰,即接口中的属性都是全局静态常量.接口中的常量必须在定义时指定初始值.

Eg:

public static final int num=3;

int num=3;//在接口中,这二种定义语句效果完全相同

接口表示一种能力

一个类实现了某个接口,就表示这个类具备了某种能力.一个类可以实现多个接口

 

/**
* 门
* @author Administrator
*
*/
public abstract class Door {
public abstract void open(); //开
public abstract void close(); //关

 

}

 

/**
* 锁,接口
* @author Administrator
*
*/
public interface Lock {
void lockup(); //关锁
void openLock();//开锁

}


/**
* 防盗门类
* @author Administrator
*
*/
public class TheftproofDoor extends Door implements Lock {

@Override
public void lockup() {
System.out.println("插入钥匙,向左转三圈,锁上了,拔出钥匙");

}

@Override
public void openLock() {
System.out.println("插入钥匙,向右转三圈,锁打开了,拔出钥匙");

}

@Override
public void open() {
System.out.println("用力推,门打开了");

}

@Override
public void close() {
System.out.println("轻轻拉门,门关上了");

}

}

 

 

/**
* 测试类
* @author Administrator
*
*/
public class Test {
public static void main(String[] args) {
/**
* 创建具体防盗门对象
*/
TheftproofDoor tfd=new TheftproofDoor();
tfd.close(); //关门
tfd.lockup(); //上锁
tfd.openLock(); //开锁
tfd.open(); //开门
}

}

 

 

 

 

接口表示一种约定

面向接口编程:

程序设计时:

关心实现类有何能力,而不关心实现的细节.

面向接口的约定而不考虑接口的具体实现.

 

接口的定义语法:

[访问修饰符]interface 接口名 extends 父接口1,父接口2,....{
//常量定义
//方法定义
}

实现接口的语法:

class 类名  extends 父类名  implements   接口1,接口2,....{
//类成员

}

 

posted @ 2017-03-31 19:27  努力奋斗吧  阅读(171)  评论(0编辑  收藏  举报