为什么String被认为是抽象数据类型?

时间:2015-03-01 00:15:52

标签: java

正在检查此链接的讲座: -

http://algs4.cs.princeton.edu/12oop/

它将字符串称为ADT,我很困惑为什么?

1 个答案:

答案 0 :(得分:2)

可能你会混淆一般的,与编程语言无关的术语“抽象数据类型”,以及特定于Java的术语“抽象类”。

抽象数据类型是......如您链接到的页面所述:

  

抽象数据类型是一种数据类型,其内部表示对客户端是隐藏的。

Java“abstract”类是在其类声明中具有abstract关键字的类。这意味着你无法创建它的实例。

这是两个不同的想法:“抽象”一词的两个不同含义。


所以在String

的情况下
  • 这是一个ADT,因为隐藏了内部表示。

  • 这不是abstract类:例如new String("42")