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

  • 个人主页: 陶然同学
  • 版权: 本文由【陶然同学】原创、在CSDN首发、需要转载请联系博主
  • 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
  •  想寻找共同成长的小伙伴,请点击【Java全栈开发社区

目录

1.引言

2.概念&入门

        2.1概念

        2.2入门:定义接口

3.进阶:实现接口

4.IDEA快捷实现接口

5.接口强化练习

5.1练习1:管理班级接口

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

6.接口的注意事项


1.引言

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

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

【Java百炼成神】魂尊篇——面向对象(接口)_第1张图片

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

否则手机没法正常打电话、发短信

【Java百炼成神】魂尊篇——面向对象(接口)_第2张图片

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

2.概念&入门

        2.1概念

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

接口:用来定义规范。 
 
以制造手机为例:

【Java百炼成神】魂尊篇——面向对象(接口)_第3张图片

 在 Java 中,接口 = 规范

        2.2入门:定义接口

需求说明: 

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

请将手机的设计规范定义为 Java 中的接口 
 
知识讲解: 

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

2、 接口定义格式为: 

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

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

代码实现: 

【Java百炼成神】魂尊篇——面向对象(接口)_第4张图片

【Java百炼成神】魂尊篇——面向对象(接口)_第5张图片

【Java百炼成神】魂尊篇——面向对象(接口)_第6张图片

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

3.进阶:实现接口

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

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

【Java百炼成神】魂尊篇——面向对象(接口)_第7张图片

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

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

格式:

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

需求: 

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

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

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

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

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

分析: 

1、定义实现类

【Java百炼成神】魂尊篇——面向对象(接口)_第8张图片

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

【Java百炼成神】魂尊篇——面向对象(接口)_第9张图片

【Java百炼成神】魂尊篇——面向对象(接口)_第10张图片

【Java百炼成神】魂尊篇——面向对象(接口)_第11张图片

【Java百炼成神】魂尊篇——面向对象(接口)_第12张图片

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百炼成神】魂尊篇——面向对象(接口)_第13张图片

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

【Java百炼成神】魂尊篇——面向对象(接口)_第14张图片

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

【Java百炼成神】魂尊篇——面向对象(接口)_第15张图片

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

【Java百炼成神】魂尊篇——面向对象(接口)_第16张图片

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

 
练习: 

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

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

        最后 如果觉得文章对您有帮助 请给博主点赞、收藏、关注 博主会不断推出更多优质文章

【Java百炼成神】魂尊篇——面向对象(接口)_第17张图片

你可能感兴趣的:(Java百炼成神,java,接口,Java基础,java接口,入门java)