• Java之接口


    接口的概念
    出于安全性和简化程序结构的考虑,Java程序的类之间不支持多重继承,只能实现题时,
    继承,即一个子类不能继承多个父类,只能有唯一父类。然而在解决实际问 ,很多况仅仅依靠单继承不能将问题描述清楚。例如,某动画片,飞机(Plane)和小鸟(Bird色都能飞,但飞的原理不同,飞机利用发动机作为动力飞行,小鸟扇动翅膀飞行 如果用类之间的单继承机制,需要在Plane和Bird类中声明抽象方法flying,存在代问题。
    为了使Java程序的类层次更加合理,构造的模型更符合实际问题本质,Java提供实现多重继承。
    接口是Java语言重要的概念之一。接口指用interface关键字定义的特殊类,也称接类型,它描述系统对外提供的服务,但不包含具体实现。例如,飞机和小鸟都要飞,定义接口飞,只要飞机和小鸟等类实现该接口,就表示它们的对象能提供“飞”服务;照相机、手机、平板计算机都有拍照功能,定义拍照接口,只要照相机、手机、平板计算机等类实现该接口,表示它们的对象能提供“拍照”服务。
    接口定义了多个类的共同行为规范,这些行为是对象与外部交流的通道。接口体现了规范与实现分离的设计原则,
    提高了系统的可扩展性和可维护性。

     

     下面就让我们举个例子加以理解:

    1. public class Animal {
    2. String name;
    3. public Animal(String name){
    4. this.name = name;
    5. }
    6. }
    7. interface IsFlying{
    8. public abstract void fly(); //方法体默认抽象方法可以不写abstract,接口中的方法都是public
    9. }
    10. interface IsRunning{
    11. void run();
    12. }
    13. interface IsSwimming{
    14. void swim();
    15. }
    16. class Man extends Animal implements IsFlying,IsRunning,IsSwimming{
    17. public Man(String name) {
    18. super(name);
    19. }
    20. @Override //接口中的方法要进行重写
    21. public void fly() {
    22. System.out.println(this.name + "学会做飞机飞~");
    23. }
    24. @Override
    25. public void run() {
    26. System.out.println(this.name + "学会在草地奔跑~");
    27. }
    28. @Override
    29. public void swim() {
    30. System.out.println(this.name + "学会在水里游泳~");
    31. }
    32. }
    33. class Text{
    34. public static void main(String[] args) {
    35. Man man = new Man("小王");
    36. man.fly();
    37. man.run();
    38. man.swim();
    39. }
    40. }

    运行效果如图所示:

  • 相关阅读:
    R语言学习笔记
    Java 常用API
    Linux下的buff/cache
    从一坨代码说起
    Kotlin的协程与生命周期
    java基于微信小程序的在线外卖订餐系统 uniapp
    js+vue,前端关于页面滚动让头部菜单淡入淡出实现原理
    MySQL 的索引和事务
    SpringBoot访问静态资源
    Linux--进程间通信之命名管道
  • 原文地址:https://blog.csdn.net/2301_80312788/article/details/138172159