java中接口——interface

1 篇文章 0 订阅

**定义:**接口就是抽象类的延伸,就口中所有的方法都没有方法体,我们可以把它看作纯粹的抽象类。接口中方法的修饰符必须是public和abstract其他的权限修饰符都会导致编译不通过,接口中的方法也可以不写权限修饰符,它会默认为public,接口中的所有属性的修饰符都默认是public static final。

接口的特点:
1.实现接口的类中必须提供接口中所有方法的具体实现内容。
2.多个类可以实现同一个接口
3.一个类可以实现多个无关的接口,也就实现了JAVA中的多继承
3.与继承关系类似,接口与实现类之间存在多态性
4.接口也可以继承另一个接口,使用extends关键字。
5.实现接口的类中必须提供接口中所有方法的具体实现内容。
6.与继承关系类似,接口与实现类之间存在多态性

创建一个接口: 使用关键字interface

public interface drawTest{  
	void draw();  
}

实现接口: 使用关键字implements

public class Temp implements drawTest{
/*
    在JAVA中,一个类无法继承自多个类,但是可以实现多个接口,使用关键字implements
                                        多个接口之间使用“,”隔开  多个接口之间,没有先后顺序
    这个类叫做实现类,这个类必须实现所有接口的所有方法
 */

	public void draw(){  //重写接口中的方法
	  // 省略方法体
	}
}

从上面代码中可以看出想要实现一个接口就必须重写接口中的所有方法,否则就会编译失败,或者引用接口的也是一个接口或者抽象类,这就跟JAVA中的抽象类很像。所以下面我们就来讲一下接口与抽象类的区别。

接口与抽象类:
相同点:
1. 都有抽象方法;
2. 被继承或者引用时所有抽象方法都必须被重写
3. 抽象类或者接口中的抽象方法都不能定义为私有的或者被final修饰

不同点:
1. 抽象类中的方法可以有方法体的实现,接口中不能有
2. 接口中的属性的修饰符默认为public static final
3. 抽象类中是有构造方法的,而接口中没有
4. 定义的关键字不同接口是interface,抽象类是abstract
5. 接口中的所有方法都默认是由public abstract修饰的。
6. 接口中的属性必须在定义的时候就进行初始化,且一旦定义就不能在进行修改

总结:
如果一个类中,既有抽象方法,又有非抽象方法,那么该类只能定义为抽象类,不能定义为接口
如果一个类中,只有抽象方法,没有非抽象方法,那么该类可以定义为接口,一般就定义为接口
所以也可以说,接口就是一个特殊的抽象类

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。针对USB接口程序设计,我们需要先了解一些基础知识: 1. USB是什么? USB(Universal Serial Bus)是一种用于连接计算机与外部设备的串行总线标准,可用于数据传输、充电和供电等多种用途。 2. USB接口类型 USB接口按照接口类型分为USB Type-A、USB Type-B、mini-USB、micro-USB等多种类型。 3. USB接口规范 USB接口规范包括USB1.0、USB2.0、USB3.0等多个版本,每个版本都有自己的传输速度和功能特性。 在了解了上述基础知识后,我们可以开始设计USB接口程序。具体步骤如下: 1. 定义一个接口类Usb,在该类定义一个抽象方法,用于实现数据传输功能。 ```java public interface Usb { void transferData(); } ``` 2. 定义一个USB设备类,该类实现了Usb接口,并实现了接口的抽象方法,用于实现具体的数据传输功能。 ```java public class UsbDevice implements Usb { @Override public void transferData() { System.out.println("USB设备传输数据"); } } ``` 3. 定义一个主机类,该类也实现了Usb接口,但是该类的transferData方法不是实现传输数据的功能,而是调用USB设备类的transferData方法,从而实现数据传输。 ```java public class Host implements Usb { private Usb usbDevice; public Host(Usb usbDevice) { this.usbDevice = usbDevice; } @Override public void transferData() { usbDevice.transferData(); } } ``` 4. 在主函数实例化USB设备类和主机类,并调用主机类的transferData方法,从而实现数据传输。 ```java public static void main(String[] args) { UsbDevice usbDevice = new UsbDevice(); Host host = new Host(usbDevice); host.transferData(); } ``` 这样,我们就完成了一个简单的USB接口程序设计。当然,实际情况,USB接口程序可能会更加复杂,需要考虑更多的因素,例如不同类型的USB接口、不同版本的USB规范等等。同时,我们还需要注意USB接口程序的稳定性和可靠性,以确保程序的正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值