17、Java基础---接口

接口

一、接口

接口是引用类型的一种,与类相似但也存在诸多不同;如果将类比作“电路的设计图”,那么接口就是“遥控器的设计图”

接口声明

这里以视频播放器、CD播放器、DVD播放器等播放器(播放设备)为例进行讲解,所有的播放器都可以执行“播放” 和“停止” 等操作;虽然播放器的实际运行各不相同, 但遥控器有"播放按钮” 和“停止按钮” 这一点是共通的。

共通部分的遥控器如图a,将"Player遥控器由play和stop两个按钮组成“ 这一遥控器的设计图表示为程序, 就是图b所示的接口声明,与类声明相似但开头的关键字并不是class,而是interface, 这一点与类有所不同

接口中的所有方法都为public且abstract,必须用 ';'来替换方法体{}进行声明, 这一点与类中的抽象方法相同

接口的实现

接口中声明的抽象方法的主体要在在实现该接口的类中定义

实现接口Player的类VideoPlayer的声明如图a所示,implements Player部分表示接口Player的实现。这个声明和派生类的声明相似,不过使用的关键字并不是extends, 而是implements

来理解类VideoPlayer的声明:该类会实现Player遥控器,为此需要实现各个按钮所调用的方法主体,它们之间的关系如图b所示

类VideoPlayer在实现接口Player的同时也会实现play和stop这两个方法(重写方法并定义主体);
重写的方法必须声明为public, 这是因为接口的方法为public, 已无法再强化其访问控制,这与类的派生中的重写是一样

【接口中的方法为public且abstract。在实现该接口的类中, 各方法在实现时需要加上public修饰符】

创建视频播放器VideoPlayer和CD播放器CDPlayer,以实现接口Player,程序如下:

// 播放器 接口
public interface Player {
	void play();			// ○播放
	void stop();			// ○停止
}
//===== 视频播放器 =====//
public class VideoPlayer implements Player {
	private int id;					// 制造编号
	private static int count = 0;	// 到目前为止已经赋的制造编号
	public VideoPlayer() {									// 构造函数
		id = ++count;
	}
	public void play() {									// ○播放
		System.out.println("■视频播放开始!"); 
	}
	public void stop() {									// ○停止
		System.out.println("■视频播放结束!"); 
	}
	public void printInfo() {								// 显示制造编号
		System.out.println("该机器的制造编号为[" + id + "]。"); 
	}
}
//===== CD播放器 =====//
public class CDPlayer implements Player {

	publi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值