接口定义完毕,就制定了一个 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百炼成神就结束了 欢迎大家添加博主交流 练习过程中遇到问题也可以提供支持 如果需要学习资料 博主也可以推荐
最后
笔者已经把面试题和答案整理成了面试专题文档
果需要学习资料 博主也可以推荐**
最后
笔者已经把面试题和答案整理成了面试专题文档
[外链图片转存中…(img-8GSih766-1714057747972)]
[外链图片转存中…(img-zcaJ5Epp-1714057747973)]
[外链图片转存中…(img-dNo2dKsI-1714057747974)]
[外链图片转存中…(img-K5aCv3Bm-1714057747974)]
[外链图片转存中…(img-s2uoolO0-1714057747974)]
[外链图片转存中…(img-JfX1X99u-1714057747975)]