系列十六、抽象类 & 接口

一、抽象类 & 接口

1.1、抽象类

1.1.1、概述

        被abstract修饰的类,称之为抽象类。抽象类中可以一个抽象方法也没有,但是如果一个类中有抽象方法,此类必须为抽象类。

1.1.2、特点

        抽象类中可以有抽象方法也可以全部都是普通方法(包括实例方法、静态方法),同时在抽象类中可以定义实例成员属性、静态成员属性,还可以书写构造方法。

1.1.3、案例

/**
 * @Author : 一叶浮萍归大海
 * @Date: 2024/1/9 21:08
 * @Description:
 *      Spurt fire:喷火
 *      ride on a cloud:腾云驾雾
 */
public abstract class Dragon {

    /**
     * 实例成员属性
     */
    private Integer footNumber;

    /**
     * 静态成员属性
     */
    private static String headNumber;

    /**
     * 构造方法
     */
    public Dragon() {
    }

    /**
     * 抽象方法:喷火
     * @return
     */
    public abstract String spurtFire();

    /**
     * 实例方法
     */
    public void sleep() {

    }

    /**
     * 静态方法
     */
    public static void rideOnACloud() {
        
    }
    
}

1.1.4、抽象类和普通类的区别

(1)抽象类可以有抽象方法,普通类没有抽象方法;

(2)普通类可以创建对象,但是抽象类不能创建对象(抽象类可以有构造方法);

1.2、接口

1.2.1、概述

        接口类似于抽象类,只不过接口中的方法必须全部为public abstract修饰的抽象方法,接口中也不能够有构造方法;接口中的成员变量必须被public static final修饰,抽象方法默认被public abstract修饰,成员变量默认被public static final修饰。

1.2.2、案例

public interface HiService {

    public static final String NAME = "小明";
    String DESCRIPTION = "法外狂徒小明";

    /**
     * 打招呼
     *
     * @param name
     */
    void sayHello(String name);

    /**
     * 打招呼
     * @param name
     */
    public abstract void sayHi(String name);

}

相关推荐

  1. 系列抽象 & 接口

    2024-01-11 04:32:03       33 阅读
  2. 接口抽象

    2024-01-11 04:32:03       43 阅读
  3. 抽象接口

    2024-01-11 04:32:03       32 阅读
  4. C# 抽象接口

    2024-01-11 04:32:03       15 阅读
  5. 抽象接口

    2024-01-11 04:32:03       11 阅读
  6. C# 抽象接口

    2024-01-11 04:32:03       40 阅读
  7. C++系列与对象

    2024-01-11 04:32:03       38 阅读
  8. 接口抽象的区别

    2024-01-11 04:32:03       18 阅读
  9. 接口抽象和内部

    2024-01-11 04:32:03       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-11 04:32:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-11 04:32:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-11 04:32:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-11 04:32:03       20 阅读

热门阅读

  1. MyBatisPlus---使用limit查询

    2024-01-11 04:32:03       38 阅读
  2. mysql分页插件pagehelper不生效

    2024-01-11 04:32:03       36 阅读
  3. 关于Spring源码学习 这里是一些建议

    2024-01-11 04:32:03       35 阅读
  4. Cookie Session和过滤器Filter

    2024-01-11 04:32:03       38 阅读
  5. Vue路由 - 工作原理(深入理解)

    2024-01-11 04:32:03       31 阅读
  6. 2024系统分析师---论软件三层架构设计

    2024-01-11 04:32:03       39 阅读
  7. 0110qt

    0110qt

    2024-01-11 04:32:03      30 阅读
  8. Python 常用模块pickle

    2024-01-11 04:32:03       31 阅读
  9. Crow:蓝图路由1 CROW_BP_ROUTE

    2024-01-11 04:32:03       32 阅读
  10. 肺癌文献阅读

    2024-01-11 04:32:03       33 阅读
  11. 2023年我国网络安全法律法规一览

    2024-01-11 04:32:03       28 阅读