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

本文介绍了Java中如何定义和实现接口,如Phone接口的实例化,以及如何通过实现IPhone类来实现call和sendMessage功能。文章还涉及IDEA快捷创建接口实现类的方法,接口设计原则和注意事项,以及接口在类间关系中的作用。最后提到面试题和学习资源的整理。
摘要由CSDN通过智能技术生成

接口定义完毕,就制定了一个 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)

他们之间的关系为:

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

孩子是学生,有学习功能

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

学习(study),跑步(run)

6.接口的注意事项

=========

  • 接口中不可以定义构造方法,更无法直接创建对象

  • 接口中不可以定义普通成员变量,只能定义常量。接口中的常量默认被 public static final 修饰

  • Java 支持一个类实现多个接口

  • 接口之间也可以使用继承,而且一个接口可以有多个父接口

  • 接口中可以定义 static 方法,static 方法必须编写方法体

  • 一个类既可以继承父类,同时也可以实现接口,继承和实现之间没有相互的干扰

练习:

自定义接口,尝试验证以上注意事项。

我们的Java百炼成神就结束了 欢迎大家添加博主交流 练习过程中遇到问题也可以提供支持 如果需要学习资料 博主也可以推荐

最后

笔者已经把面试题和答案整理成了面试专题文档

image

image

image

image

image

image

果需要学习资料 博主也可以推荐**

最后

笔者已经把面试题和答案整理成了面试专题文档

[外链图片转存中…(img-8GSih766-1714057747972)]

[外链图片转存中…(img-zcaJ5Epp-1714057747973)]

[外链图片转存中…(img-dNo2dKsI-1714057747974)]

[外链图片转存中…(img-K5aCv3Bm-1714057747974)]

[外链图片转存中…(img-s2uoolO0-1714057747974)]

[外链图片转存中…(img-JfX1X99u-1714057747975)]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值