首页 > 其他分享 >抽象类和接口

抽象类和接口

时间:2024-08-11 22:17:52浏览次数:12  
标签:name void 接口 抽象类 方法 public

抽象类和接口

抽象类

  public abstract class Animal {
      protected String name;

      public Animal(String name) {
          this.name = name;
      }

      public abstract void makeSound();  // 抽象方法
      public void eat() {
          System.out.println(name + " is eating.");
      }
  }

接口

  public interface Animal {
//    public static final String name = "Dog";
      String name = "Dog"; // 静态常量
//    public void makeSound();
      void makeSound();  // 抽象方法

      // Java 8 
      default void sleep() {  // 默认方法
          System.out.println("Zzz...");
      }
      static void greet() {  // 静态方法
          System.out.println("Hello!");
      }
      // Java 9
      private void innerMethod() {  // 私有方法,用于支持接口中其他方法
      System.out.println("emm...");
    }     
  }

相同点

  1. 抽象性
    都可以包含抽象方法,不能直接实例化。需要派生子类(抽象类被子类继承,抽象方法被子类实现)
  2. 多态性
    抽象类通过被子类extends实现多态,接口通过被子类implement实现多态

不同点

  • 继承与实现:
    一个类只能继承一个抽象类。
    一个类可以实现多个接口。

  • 思想
    抽象类本质是类,适合做父类模板
    接口更适合做功能的解耦合

抽象类:

  • 适合做父类模板。
  • 可以包含构造器、字段、抽象方法和非抽象方法。
  • 适合定义一系列相关类的公共行为和状态。

接口:

  • 用于定义行为规范和契约。
  • 定义了一组方法的签名,而不提供这些方法的具体实现。
  • 适合用于定义多个类之间的行为一致性。

标签:name,void,接口,抽象类,方法,public
From: https://www.cnblogs.com/sherioc/p/18353990

相关文章

  • 数据接口安全风险监测技术
    数据接口:信息系统之间进行数据传输和交换的一种机制,它描述了一个由接口服务端和客户端端共同遵守的合约,通常会约定数据的格式、通信协议、传输结构等。风险源:可能导致危害数据的保密性、完整性、可用性和数据处理合理性等事件的威胁、脆弱性、问题、隐患等。一、数据接口要素......
  • USB协议详解第5讲(USB描述符-接口描述符)
    1.USB描述符USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB接口描述符的组成。2.接口描述符组成前面讲了设备描述符和标准配置描述符,本篇我们讲解接口描述符。首先要明确的一点......
  • Java中的抽象类与接口
    1.抽象类1.1抽象类概念在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。比如:像这种没有实际工作的方法,我们可以把它设计成一个抽象方法(abst......
  • 记一次TCP请求游戏服接口偶发超时问题处理:Linux内核网络参数调优
    记一次TCP请求游戏服接口偶发超时问题处理:Linux内核网络参数调优原创 国文 三七互娱技术团队  2024年07月08日18:00 广东 听全文01问题现象A云主机公网访问B云游戏服的一个接口出现偶发超时的问题。02问题原因经抓包定位到B云游戏服接口未响应请求报文导致,具体......
  • 数字音频接口之I2S总线协议详解
    数字音频接口之I2S总线协议详解应用场景I2S(Inter-ICSound)是一种广泛应用于数字音频传输的串行接口标准。它最初由飞利浦(Philips)公司开发,用于解决在集成电路之间传输音频数据的问题。I2S协议定义了音频数据的传输格式、时序和控制信号。在工作中音频采集和输出,AD和主芯片之间的......
  • 钉钉群机器人开发接口
      获取自定义机器人webhook步骤一,在机器人管理页面选择“自定义”机器人,输入机器人名字并选择要发送消息的群。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成Hook地址,如下图:步骤二,点击“复制”按钮,即可获得这个机器人对应的Webhook地址,其格式如......
  • 开发者工具Postman接口测试工具使用介绍
    Postman接口测试工具详解Postman是一个功能强大的API测试工具,广泛应用于接口开发和测试过程中。它提供了一个直观的界面来创建、发送和管理API请求,并可以轻松地检查响应。以下是Postman的详细使用指南,包括基本概念、功能和操作步骤。安装和设置安装Postman下载:......
  • api接口数据安全格式转换-DES,AES,SM2
    api接口数据安全格式转换-DES,AES,SM21.数据格式{"orderNo":"",//其他的业务数据}返回{"sign":"","params":"","timestamp":""}实现接口的加密传输,数据安全规范。返回DEMOsign=8E4D93D831652C94473994DBB0846F11,params=043be41......
  • HashMap 中处理哈希冲突,红黑树对于没有实现 Comparable 接口的 Key 处理
    背景:假设有两个对象,分别是stu和teach(都没有实现Comparable接口),将它们添加进去HashMap里,假设这两个对象发生哈希冲突,那么红黑树怎么判断它们谁在左谁在右?依据是什么?​ 当两个对象stu和teach的哈希值相同,且它们没有实现Comparable接口时,Java8的HashMap会使用t......
  • 如何避免同一时间接口多次重复请求
    问题当在项目中遇到一个场景,有一个tab页面,tab的切换调用的都是一个接口,只是传入的参数不同,这个时候接口返回很慢,短时间内多次切换tab栏,可能会造成数据渲染错误,页面多次刷新等问题解决思路在请求接口时,如果上个接口没有请求介绍,就取消掉上次接口的调用。实现接口请求是通过axi......