【Java百炼成神】魂尊篇——面向对象(接口)

简介: 【Java百炼成神】魂尊篇——面向对象(接口)

1.引言


在现实生活中,处处需要制定规范:

例如:电脑插头设计时,必须有规范,否则无法正常和插排连接

微信图片_20220530123058.png

例如:手机设计时,需要有规范

否则手机没法正常打电话、发短信微信图片_20220530123111.png

Java 世界中也有规范,为了学习 Java 中如何制定规范,我们就需要学习接口知识  

     

2.概念&入门


2.1概念


官方定义:接口是一系列方法的声明,是一些方法特征的集合

接口:用来定义规范。

 

以制造手机为例:微信图片_20220530123308.png

在 Java 中,接口 = 规范


2.2入门:定义接口


需求说明:


公司提出手机(Phone)的设计规范:手机可以打电话(call),可以发信息(sendMessage)


请将手机的设计规范定义为 Java 中的接口

知识讲解:


1、 接口定义时需要使用 interface 关键字


2、 接口定义格式为:  


public interface 接口名 { 
返回值类型 方法名 1(参数列表); 
}

注:接口中非静态成员方法都无需方法体

代码实现: 微信图片_20220530123416.png

微信图片_20220530123433.png微信图片_20220530123439.png

接口定义完毕,就制定了一个 Phone 接口,为其他手机类的定义,制定了规范


3.进阶:实现接口


因为接口无法直接创建对象,

所以我们必须根据接口来定义普通 Java 类,使用普通 Java 类创建对象。微信图片_20220530123519.png

根据接口定义普通 Java 类,重写接口中方法的过程,我们称为:实现接口


实现接口的普通 Java 类,我们也叫做实现类


格式:

public class 类名 implements 接口名 { 
 重写接口中的方法 
 }


//


需求:


请在公司提出的手机(Phone)的设计规范的基础上,定义苹果手机类(IPhone),


将接口中提出的两个功能,真正实现出效果:


打电话(call):控制台展示“打电话”


发信息(sendMessage):控制台展示“发短信”


最终在测试类中,创建一个苹果手机类对象,分别调用两个方法


分析:


1、定义实现类

微信图片_20220530123613.png

2、通过实现类,创建对象

实现:

Iphone 类:(实现接口)

public class IPhone implements Phone { 
 @Override 
 public void call() { 
 System.out.println("打电话"); 
 } 
 @Override 
 public void sendMessages() { 
 System.out.println("发短信"); 
 } 
}

Demo1 类:

public static void main(String[] args) { 
 IPhone ip = new IPhone(); 
 ip.call(); 
 ip.sendMessages(); 
}

总结:实现接口就是:Iphone 类将接口所有方法逐一重写,从而真正实现了每个方法的功能。


4.IDEA快捷实现接口


IDEA 可以帮我们快捷定义某个接口的实现类: 微信图片_20220530123622.png微信图片_20220530123743.png微信图片_20220530123748.png微信图片_20220530123753.png

5.接口强化练习


5.1练习1:管理班级接口


定义管理班级接口(Management):


接口中定义两个方法:作业检查(check)、考试(exam)


定义班主任(ClassTeacher)类,让班主任具备管理班级的功能。


定义讲师(Lecturer)类,让讲师具备管理班级的功能。

注意:实现了哪个接口,我们就认为:类就具备了哪些功能。


例如:


1、 实现了手机接口,类就具备了手机功能


2、 实现了飞行接口,类就具备了飞行功能


3、 实现了计算接口,类就具备了计算功能。


5.2练习2:孩子继承父亲 孩子是学生 父亲不是学生


现有如下类或接口:父亲(Father),孩子(Child),学生(Student)


他们之间的关系为:


孩子继承了父亲,都能跑步锻炼


孩子是学生,有学习功能


父亲不是学生,没有学习功能

学习(study),跑步(run)


6.接口的注意事项


  • 接口中不可以定义构造方法,更无法直接创建对象
  • 接口中不可以定义普通成员变量,只能定义常量。接口中的常量默认被 public static final 修饰  微信图片_20220530124032.png
  • Java 支持一个类实现多个接口
  • 微信图片_20220530124040.png
  • 接口之间也可以使用继承,而且一个接口可以有多个父接口


  • 微信图片_20220530124045.png
  • 接口中可以定义 static 方法,static 方法必须编写方法体
  • 微信图片_20220530124050.png
  • 一个类既可以继承父类,同时也可以实现接口,继承和实现之间没有相互的干扰

 

相关文章
|
1月前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
2月前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
175 3
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
160 57
|
2月前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
92 38
|
16天前
|
数据采集 JSON Java
利用Java获取京东SKU接口指南
本文介绍如何使用Java通过京东API获取商品SKU信息。首先,需注册京东开放平台账号并创建应用以获取AppKey和AppSecret。接着,查阅API文档了解调用方法。明确商品ID后,构建请求参数并通过HTTP客户端发送请求。最后,解析返回的JSON数据提取SKU信息。注意遵守API调用频率限制及数据保护法规。此方法适用于电商平台及其他数据获取场景。
|
21天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
46 6
|
1月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
25 1
|
2月前
|
Java API
Java中内置的函数式接口
Java中内置的函数式接口
28 2
|
2月前
|
Java
在Java中如何实现接口?
实现接口是 Java 编程中的一个重要环节,它有助于提高代码的规范性、可扩展性和复用性。通过正确地实现接口,可以使代码更加灵活、易于维护和扩展。
171 64
|
2月前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
130 1

热门文章

最新文章