java—接口及其应用,接口定义加强

接口的基本概念,使用限制,应用

(一)接口的概念

  • 接口存在的意义:抽象类虽然能约定子类的实现要求,但是具有单继承缺陷,为了解决抽象类的单继承缺陷,定义了接口。
  • 在使用时,接口优先于抽象类,能使用接口就不使用抽象类。
  • 接口的定义:接口是抽象方法和全局变量的集合。
  • 接口使用 interface 关键字定义接口, implements 关键字实现接口。
  • 一个子类可以实现多个接口。子类必须覆写接口中的所有抽象方法。
  • 接口可以通过子类的实例化来得到实例化对象。和抽象类类似。
  • 若一个子类同时实现多个接口,则这多个接口之间可以相互转换。

接口的简单应用:

//1. 定义接口SchoolA,接口内定义一个抽象方法printA()。
interface SchoolA{
   
	public void printA();
}

//2. 定义接口SchoolB,接口内定义一个抽象方法printB()。
interface SchoolB{
   
	public void printB();
}

//3.1定义一个子类Student,让该子类同时实现以上两个接口。
class Student implements SchoolA,SchoolB{
   
//3.2 在子类中覆写接口SchoolA中的抽象方法。	
	public void printA(){
   
		System.out.println( "我就读于学校A");
	}
//3.3 在子类中覆写接口SchoolB中的抽象方法。
	public void printB(){
   
		System.out.println("我就读于学校B");
	}
}

//4.1 定义主类
public class Test0003{
   
	public static void main(String[] args){
   
//4.2 实例化子类Student得到接口SchoolA的实例化对象
		SchoolA a = new Student();
		a.printA();
//4.3 接口也可以不通过子类实例化对象,接口间的互相转换。		
		SchoolB b = (SchoolB) a;
		b.printB();
		
	}
}

运行结果如下:
在这里插入图片描述
(二)接口的使用限制

  • 接口中定义的方法默认为public(public可省略)。所以注意在子类覆写接口中方法的时候,使用的权限一定不能比public小,一般使用public。

  • 接口中定义的变量,实际就是全局常量,默认为public static final(可省略)。

  • 子类可以实现多个接口,子类的实例化对象可以向上转型成任意接口类型。

  • 子类可以继承抽象类(类),先继承抽象类再实现接口(先extends再implements)。

  • 一个抽象类可以使用implements实现多个接口,
    抽象类可以选择实现接口的抽象方法,也可以不实现,交给该抽象类的子类去实现。

  • 接口不能继承抽象类(类),但一个接口可以使用extends实现多个接口继承。

(三)接口的应用

  1. 现在要求描述一个概念-电脑上可以使用任何的 USB 设备(U盘,打印机等等):
    分析题意:
    电脑上有USB接口,USB接口可以插入相应的设备。
    在这里插入图片描述具体代码实现如下:
//定义接口
interface Usb{
   
 	
	//安装驱动-设备厂商提供
	void setup();

	//工作
	void work();
}

//使用usb接口
class Computer{
   
	public void plugin(Usb usb){
   
		usb.setup();
		usb.work
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值