最全【Java百炼成神】魂尊篇——面向对象(接口),springmvc面试问题

惊喜

最后还准备了一套上面资料对应的面试题(有答案哦)和面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)

image.png

image.png

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

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

接口:用来定义规范。

以制造手机为例:

在 Java 中,接口 = 规范

2.2入门:定义接口


需求说明:

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

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

知识讲解:

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

2、 接口定义格式为:

public interface 接口名 {

返回值类型 方法名 1(参数列表);

}

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

代码实现:

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

3.进阶:实现接口

=========

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

所以我们必须根据接口来定义普通 Java 类,使用普通 Java 类创建对象。

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

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

格式:

public class 类名 implements 接口名 {

重写接口中的方法

}

需求:

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

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

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

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

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

分析:

1、定义实现类

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 可以帮我们快捷定义某个接口的实现类:

5.接口强化练习

========

5.1练习1:管理班级接口


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

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

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

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

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

例如:

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

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

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

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


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

他们之间的关系为:

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

孩子是学生,有学习功能

Ending

Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下

如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值