【问题标题】:Theory - Java - Abstract data type and reference data type理论 - Java - 抽象数据类型和引用数据类型
【发布时间】:2014-07-16 13:50:10
【问题描述】:

“抽象数据类型”和“参考数据类型”的概念是否指代同一事物,因此与“原始数据类型”相对使用?

谢谢!

【问题讨论】:

    标签: java reference abstract language-lawyer primitive


    【解决方案1】:

    传统上,“Abstract Data Type”(另见this definition)用于指定“类”的抽象概念。维基百科说:

    抽象数据类型是纯粹的理论实体,使用(以及其他 事物)以简化抽象算法的描述,以 对数据结构进行分类和评估,并正式描述 编程语言的类型系统。然而,一个 ADT 可能是 由特定的数据类型或数据结构以多种方式实现 并在许多编程语言中;或以正式的方式描述 规范语言。 ADT 通常以模块的形式实现: 模块的接口声明了对应于 ADT 的过程 操作,有时使用描述约束的 cmets。 这种信息隐藏策略允许实施 在不干扰客户端程序的情况下更改模块。

    具体来说,数值数据类型,无论是原始类型还是引用类型,都是“抽象数据类型”的实例。

    Java Language Specification 在第 4.1 章中使用了“原始数据类型/值”和“参考数据类型/值”这两个词:

    4.1 类型和值的种类

    Java 编程语言中有两种类型: 原始类型(§4.2)和引用类型(§4.3)。有, 相应地,可以存储两种数据值 变量,作为参数传递,由方法返回,并操作: 原始值 (§4.2) 和参考值 (§4.3)。

    但是,“抽象数据类型”一词从未使用过,这是有充分理由的。

    【讨论】:

      【解决方案2】:

      在我看来,在 java 中确实如此。
      简单的解释是,除了原语或类之外,您不能使用任何数据类型,而类是引用数据类型。

      【讨论】:

        猜你喜欢
        • 2019-03-12
        • 1970-01-01
        • 2023-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-13
        • 2012-01-16
        • 2018-04-08
        相关资源
        最近更新 更多