java接口连接的_一些关于java接口的简单小结

接口在我们现实生活中也都存在,将两种看似不相关的东西连接起来的都是接口。而Java中的接口是一个特殊的抽象类, 能够将两个不同模块连接起来,通过接口连接的内容,修改起来更加方便

af3342c13af0538ee4acd2727db7c783.png

现在想象着编写一个Usb接口,能够将用户在键盘和鼠标上点的东西电脑连接起来。

先编写一个Usb接口 Usb。里面有一个print抽象方法和一个click方法,代表键盘输入和鼠标点击,任何用户用接口的时候都有这两个方法提供给他。

interface Usb{void print();void click();}

之后需要一个用户去使用键盘和鼠标,那么编写第一个用户类User1去连接接口,也就是实现implements接口内容,再将抽象方法重写(接口内的是抽象方法,抽象方法必须重写),也就是他在键盘打字还有点击鼠标左键

class User1 implements Usb{//重写抽象方法public void print(){System.out.println("键盘输入:博客没人看");}public void click(){System.out.println("点了一下鼠标左键!");}}

为了证明不止一个用户可以使用键盘和鼠标,也就是接口可以接很多个东西,再写第二个用户User2,他键盘输入和鼠标点击的内容和User1不同,抽象方法重写的也不同。

class User2 implements Usb{//重写抽象方法和前一个用户不同public void print(){System.out.println("键盘输入了:我是用户2");}public void click(){System.out.println("我点了鼠标右键");}}

现在接口的外部已经写好啦,有两个用户,那么再写一个接口另一端是我的计算机,计算机要包含接口这个属性,来知道接口中有哪些方法和再去调用他们。再设置一个总的方法make,可以调用Usb接口中的全部方法。

class MyComputer{//封装一个属性private Usb usb;//给一个有参数构造方法,参数需要是Usb类型public MyComputer(Usb usb) {this.usb = usb;}//对private设置get和set方法public Usb getUsb() {return usb;}public void setUsb(Usb usb) {this.usb = usb;}//设置一个make方法,代表电脑可以通过Usb实现Usb内部的两个方法public void make(){//同一个类中不需要用get和set方法//也可以加上Usb usb = this.getUsb();usb.print();usb.click();}}

电脑MyComputer这一侧就算是完成了,最后用一个测试文件去测试一下。这样通过接口修改一鞋内容就很方便,只需要Usb引用指向不同的子类对象,再通过创建一个引用,指向接受了Usb参数的MyComputer对象,实现方法的调用。

public class PortTest06 {public static void main(String[] args) {//创建Usb引用a,父类型引用指向子类型对象User1Usb a = new User1();//创建电脑对象//这里传进去参数a,a是一个Usb类型数据MyComputer b = new MyComputer(a);//总方法make实现User1提供的两个方法b.make();//在创建一个Usb引用x,指向子类型对象User2Usb x = new User2();//创建电脑对象,传进去的是xMyComputer y = new MyComputer(x);//总方法make实现User2提供的两个方法y.make();}}

山东掌趣网络科技

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值