Java开发——10.接口

简介: Java中的接口更多的体现在对象行为的抽象!

接口(interface):

接口是一种公共的规范标准,只要符合规范标准,大家都可以通用。接口和抽象类相似,但是接口比抽象类的规定更加规范和严格。Java中的接口更多的体现在对象行为的抽象!

抽象类的描述在 面向对象的特点10 中已经完成讲解,有问题的可以参考,以下链接! 小红在成长,公众号:小红的成长日记Java开发——10.面向对象的特点(2.1):继承VS抽象


抽象类:

抽象方法所在的类一定是抽象类,但是抽象类中可以有非抽象方法。


接口:

接口中的方法均为抽象方法。


接口定义格式:

接口用关键字interface修饰

publicinterface接口名 {}


接口的使用:

接口是不能创建对象,必须有实现类才能使用,类实现接口用implements表示

publicclass类名implements接口名 {}

注意: 接口的实现类必须重写接口中的所有的抽象方法。


接口成员的特点:

1.成员变量

只能是常量,默认修饰符:public static final,final修饰所以接口中定义的变量都是常量

2.成员方法

只能是抽象方法,默认修饰符:public abstract

3.构造方法

没有构造方法,因为接口主要是扩展功能的,而没有具体存在,接口中只有抽象方法


案例展示:


publicinterfaceInter {
//接口中定义的变量只能是常量//默认修饰符:public static final,可以省略修饰符(public static final)publicintnum1=10;
publicfinalintnum2=20;
publicstaticfinalintnum3=30;
intnum4=40;//默认是被 public static final 修饰//接口没有构造方法// public Inter() {}//接口中不能有方法主体// public void show() {}//默认修饰符:public abstract publicabstractvoidmethod1();
publicvoidmethod2();
voidshow();
}



实现类:


/***   子类是具体类,要实现接口中所有的抽象方法*/publicclassInterImplextendsObjectimplementsInter {
publicInterImpl(){
super();//super实现的是object这个超级父类    }
@Overridepublicvoidmethod1() {
System.out.println("实现类中的method1");
    }
@Overridepublicvoidmethod2() {
System.out.println("实现类中的method2");
    }
@Overridepublicvoidshow() {
System.out.println("实现类中的show");
    }
}


测试类:


publicclassTest {    
publicstaticvoidmain(String[] args) {        
//接口不能实例化        // Inter i = new Inter();        //通过多态的方法实        Interi=newInterImpl();        
//访问成员变量        System.out.println(i.num1);        
//接口的常量是不能修改的        // i.num1 = 100;        i.method1();        
i.method2();        
i.show();    
}
}


接口和抽象类的区别:

A:成员区别

抽象类:

成员变量:变量 或者 常量;

构造方法:有;

抽象类不能实例化;

成员方法:可以有抽象方法,也可以有非抽象方法。

接口:

成员变量:只可以静态常量  可以省略 static final;

构造方法:无;

接口不能实例化;

成员方法:只有抽象方法。      可以省略abstract!


B:关系区别

      类与类

               继承,单继承, 多层继承(爷->父->子->孙)

类与接口

实现,单实现,多实现

       接口与接口

继承,单继承,多继承都可以


C:设计理念区别

抽象类【共性功能】。

接口【扩展功能】。


多实现的格式:(多继承也是一样的写法)



class类名 [extends父类名] implements接口名1,接口名2,接口名3... {        // 重写接口中抽象方法【必须】    // 重写接口中默认方法【不重名时可选】}


总结:

  • 接口中只有常量和抽象方法;
  • 接口是没有静态代码块和构造方法的;
  • 一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。
    单继承多实现:

publicclassMyInterfaceImplimplementsMyInterfaceA, MyInterfaceB {

  // 覆盖重写所有抽象方法

}

  • 如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。
  • 如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。
相关文章
|
2月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
9天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
158 57
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
56 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
2月前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
91 38
|
19天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
100 13
|
13天前
|
数据采集 JSON Java
利用Java获取京东SKU接口指南
本文介绍如何使用Java通过京东API获取商品SKU信息。首先,需注册京东开放平台账号并创建应用以获取AppKey和AppSecret。接着,查阅API文档了解调用方法。明确商品ID后,构建请求参数并通过HTTP客户端发送请求。最后,解析返回的JSON数据提取SKU信息。注意遵守API调用频率限制及数据保护法规。此方法适用于电商平台及其他数据获取场景。
|
18天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
46 6
|
24天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
56 10
|
17天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
54 2