接口、抽象类和内部类

共同点

  • 都不能被实例化
  • 都可以包含抽象方法
  • 都可以有默认实现的方法

区别

  • 接口主要是对类的行为进行约束,实现了某个接口就具有了对应的行为;抽象类主要用于代码复用,强调的是所属关系
  • 一个类只能继承一个类,但可以实现多个接口
  • 接口中的成员变量只能是public static final类型的,不能被修改且必须有初始值;而抽象类的成员变量默认是default,可在子类中重新被定义和重新赋值。

抽象类的作用

通常作为其他类的父类,目的是提供一些通用的行为和属性。

定义抽象类

通过abstract关键字来修饰,抽象类可以包含抽象方法(只有声明,没有方法体)和具体方法(有方法体)

public abstract class Shape {
    // 抽象方法
    public abstract double calculateArea();

    // 具体方法
    public void printDetails() {
        System.out.println("This is a shape.");
    }
}

使用抽象类

如果子类没有实现抽象类中的所有抽象方法,那么子类也必须声明为抽象类。

内部类

内部类分为4种:

  • 成员内部类
  • 静态内部类
  • 局部(方法)内部类
  • 匿名内部类

总结

接口主要用于对类的行为进行约束,实现了某个接口就具有了对应的行为;

抽象类主要用于代码复用,强调的是所属关系

相关推荐

  1. 接口抽象内部

    2024-03-21 05:26:02       21 阅读
  2. 接口抽象

    2024-03-21 05:26:02       43 阅读
  3. 抽象接口

    2024-03-21 05:26:02       32 阅读
  4. 接口抽象:如何使用普通模拟接口抽象

    2024-03-21 05:26:02       10 阅读
  5. 接口抽象的区别

    2024-03-21 05:26:02       21 阅读
  6. 接口抽象有什么区别?

    2024-03-21 05:26:02       19 阅读
  7. C# 抽象接口

    2024-03-21 05:26:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-21 05:26:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-21 05:26:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-21 05:26:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-21 05:26:02       20 阅读

热门阅读

  1. LeetCode_30_困难_串联所有单词的子串

    2024-03-21 05:26:02       19 阅读
  2. js读取本地 excel文件、txt文件的内容

    2024-03-21 05:26:02       21 阅读
  3. ansible 管理工具以及常用模块

    2024-03-21 05:26:02       19 阅读
  4. 开源IT自动化运维工具Ansible解析

    2024-03-21 05:26:02       18 阅读
  5. 非插件方式为wordpress添加一个额外的编辑器

    2024-03-21 05:26:02       21 阅读
  6. 零基础学华为ip认证难吗?华为认证费用多少?

    2024-03-21 05:26:02       21 阅读
  7. 大数据扩展

    2024-03-21 05:26:02       20 阅读
  8. 自动驾驶国际标准ISO文件

    2024-03-21 05:26:02       21 阅读