Java学习笔记三:接口

无聊的网管实训啊!!!!!!!!

不如就来做一些java的学习吧

有这么一道题:

(1)所有的可拨号设备都有拨号功能(dailup)

(2)所有的播放设备都有播放功能(play)

(3)所有的照相设备都有拍照功能(takePhoto)

(4)定义一个电话类Telephone,有拨号功能

(5)定义一个Dvd类有播放功能

(6)定义一个照相机类Camera,有照相功能

(7)定义一个手机类Mobile,有上诉三个功能

(8)定义一个人类Person,有如下方法:

使用拨号设备(use)

使用拍照设备(use)

使用播放设备(use)

使用拨号、拍照、播放设备(use)

代码如下:

interface dialer{        //拨号接口
	public void dailup();
}
interface player{		//播放接口
	public void play();
}
interface photoer{		//拍照接口
	public void takePhoto();
}

//抽象拍照类
public abstract class Camera implements photoer{
		public void takePhoto() {
			out.print("taking.....");
		}
}

//播放类
public class Dvd implements player{
	public void play() {
		out.print("playing.....");
	}
}

//抽象电话类
public abstract class Telephone implements dialer{
	public void dailup() {
		out.print("Trying.....");
	}
}

//手机类
public class Mobile implements dialer,player,photoer{
	public void takePhoto() {
		out.print("taking.....");
	}
	public void play() {
		out.print("playing.....");
	}
	public void dailup() {
		out.print("Trying.....");
	}
}

//人类
public class Person {
	void use(Dvd D) {
		D.play();
	}
	void use(Camera C) {
		C.takePhoto();
	}
	void use(Telephone T) {
		T.dailup();
	}
	void use(Mobile M) {
		M.dailup();
		M.takePhoto();
		M.play();
	}
	public static void main(String[] args) {//主函数入口
		Dvd D =new Dvd();
		Mobile M=new Mobile();
		Person P = new Person();
		P.use(M);
		P.use(D);
	}
}

在人类里面,其实有一些是错误的,比如使用Telephone那个方法,由于Telephone是一个抽象类,他不能实例化,即不能new Telephone,但是可以用于做参数,参数未实例化,所以我们可以这样写,但是,我们在使用的过程中,会遇到问题,因为我们不能形成相应的实例。

在这次学习中,我们应该注意一下几点:

1、接口可以继承多个接口(interface 接口名 extends 接口1,接口2)

2、类可以实现(implements)多个接口,只能继承一个类(extends)

3、接口只定义了方法(还不能实现),而abstract class中可以拥有函数实体

4、通过abstract class实现接口,而类又继承abstract类,这种方式,成为适配器模式,可以节省类在实现接口时候反复定义。接口->抽象类(过渡)->子类

5、接口和抽象类都不可实例化

6、接口只有常量和抽象方法,抽象类可以有一般方法、抽象方法、变量、常量


-----------------------------------------------------------------------------------------------------------------





还有很久才能下课..........











  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值