算法和数据结构

1,基础编程模型
静态方法库是定义在一个Java类中的一组静态方法。Java开发的基本模式是编写一个静态方法库(包含一个main()方法)来完成一个任务。Java编程的最佳实践之一就是每个静态方法库中都包含一个main()函数来测试库中的所有方法。常见的Java静态方法库比如java.lang中的数学函数库Math、数组库Arrays、随机数静态方法库StdRandom、数据分析静态方法库StdStats等。
API的目的是将调用和实现分离,API使我们能够广泛地重用那些为各种目的的独立开发的代码。
2,数据抽象
数据类型指的是一组值和一组对这些值的操作的集合。抽象数据类型(ADT)将数据和函数的实现关联,并将数据的表示方式隐藏起来。
抽象数据类型的API和静态方法库的API之间的差异有三:一是ADT的API中会出现构造函数;而是ADT的API中的实例方法不需要static关键字,它们不是静态方法,它们的目的就是操作该数据类型中的值;三是ADT的API中某些实例方法的存在是为了尊重Java的习惯——将此类方法称为继承的方法,比如toString(), equals(), compareTo(), hashcode()。
和基于静态方法的模块化编程一样,ADT的API允许我们在不知道实现细节的情况下编写调用它们的代码(以及在不知道任何用例代码的情况下编写实现代码)。
Java中所有非原始数据类型的值都是对象。所有对象都有三大重要特征:状态、标识和行为。状态即数据类型中的值,标识能够将一个对象区别于另一个对象(可以认为对象的标识就是它在内存中的位置),行为就是数据类型的操作。
创建一个对象时,和原始数据类型不同的是,变量关联的是指向对象的引用而非数据类型的值本身。和其他对象一样,当把数组传递给一个方法或是把一个数组变量放在赋值语句的右侧时,我们都是在创建该数组引用的一个副本而不是数组的副本。
ADT的实现是一个含有若干私有实例变量、构造函数、实例方法和一个测试用例的Java类(针对Java语言版本的ADT)。并不需要知道一个数据类型是如何实现的才能使用它,实现数据类型时也应该假设使用者除了API什么也不知道,封装是关键。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值