【Java】基础入门(十五)--- 接口

Java接口

定义

在现实生活中,接口是某些企业和组织指定的一种约定或标准,规定了接口的大小、形状等,按照该约定设计各种设备。

java中的接口作用和生活类似,它提供一种约定,使实现接口的类在形式上保持一致。

描述规范的数据类型,接口中只定义规范(不需要实现)

抽象类中可以有普通方法而接口中的方法默认都是抽象类,也可以说接口是一种特殊的抽象类接口不能被实例化,而且没有构造方法

定义接口

格式:

public interface 接口名{
    //接口成员
}

举例

public interface USBInterface{
    public static final String NAME = "";//静态常量
    public void service();
}
  • 接口中的方法默认都是抽象方法,所以可以省略abstarct修饰符

  • 接口中的方法默认都是public修饰的,所以可以省略public

  • 接口中的变量只能是静态常量(static final),所以可以省略static final,静态常量在定义时就要赋值,且无法改变。

  • 接口不能被实例化, 没有构造方法。

使用接口

接口的使用和抽象类一样,都是通过子类。子类通过implements关键字实现接口,实现接口就必须实现接口中的抽象方法

public 类名 implements 接口名{
    实现方法
    普通方法
    属性
}

举例

public class USBDisk implements USBInterface{
    @Override
	public void service() {
		System.out.println("service()");
	}
}
  • 一个类可以实现多个接口,接口之间使用,隔开
  • 接口的实现类中,可以有普通方法
  • 实现方法必须是public

实现多个接口

java 中继承是单继承,使用extends关键字;但是一个类可以实现多个接口,使用imple ments,多个接口之间用, 隔开。

接口可以多继承, 一个接口可以继承多个接口

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

举例

public class Computer implements USBInterface, ChargeInterface{
	public void play() {
		System.out.println("play game");
	}
	@Override
	public void charge() {
		System.out.println("充电");
	}
	@Override
	public void service() {
		System.out.println("USB接口");
	}
}

一个类可以同时继承和实现接口,extends要在implements之前。

public class LenovoComputer extends Computer implements USBInterface,ChargeInterface{
    
}

接口与接口之间是继承关系,使用extends关键字。多个接口使用,隔开

public interface USBC extends USBInterface,ChargeInterface{

}

抽象类和接口类的区别

特性接口抽象类
组合可以在新类中组合多个接口只能继承一个抽象类
状态不能包含字段(静态字段除外,但不支持实例字段)可以包含字段
默认方法和抽象方法默认方法不需要在子类里实现,它只能引用接口中的方法抽象方法必须在子类里实现
构造器不能有构造器有构造器
访问修饰符默认public可以用protected和包访问修饰符

抽象类仍然是一个类,因此如果被创建的新类所继承,则该抽象类就应该是唯一被继承的
类。在创建新类的过程中可以实现多个接口。

在合理的范围内尽可能抽象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值