什么是 API
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节
JavaAPI的常用类
Object
-
所有类的基类,所有类都直接或者间接的继承Object类
-
构造方法是 public Object()
注:子类的构造方法默认访问的是父类的无参构造方法
常用方法
String
String是由多个字符组成的,也可以看作是字符数组
构造方法:
常用方法
类型转换功能
String是一个用final修饰过的引用数据类型,他的值一旦创建便不能修改。String直接用””创建对象会放到常量池中。用””号创建会先去常量池中寻找,如果有就直接返回如果没有再进行创建。String直接用构造函数来创建对象,对象不会放到常量池中而是会放在内存堆里面。
String每次修改字符的时候都会从新创建一个对象那么就会造成内存空间被不必要的占用。那么我们可以使用StringBuffer来解决这个问题
StringBuffer
StringBuffer是用来解决String更改字符串造成的时间浪费和空间浪费的
常用方法
String和StringBuffer的区别
内存操作不同: String是每次进行更改都会产生一个新的对象。StringBuffer不会产生新的对象而是在原有的对象上进行更改
包装类
java中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型。基本数据类型由于这样的特性,导致无法参与转型,泛型,反射等过程。为了弥补这个缺陷,java提供了包装类。
包装类的实现
java为我们提供了基本数据类型的包装类,这些包装类分为两类,一种是对象型包装类,不继承任何其他类(Object的直接子类),另一种是数值型包装类,继承于Number类。
装箱与拆箱
- 装箱:
- 把基本数据类型封装成包装类
- 拆箱:
- 将包装类中包装的基本数据类型数据取出
Integer i = new Inreger(1);//装箱
Integer i = 1;//自动装箱
i += 1;自动拆箱,通过intValue方法
java1.5之后才可以自动装箱,拆箱
自动装箱的内存复用 生成的Integer实例化对象是由 IntegerCache.cache() 方法产生,它会复用已有对象。
cache()方法会将位于-128~127范围内产生的Integer对象入池
所以,在这个数值区间内的 Integer对象的栈指向可以直接使用==进行判断,因为值相同,指向的就是同一片区域。但是这个区间之外的所有数据,自动装箱都会在堆上产生实例化,并不再复用已有对象,推荐使用 equals 方法进行Integer的判断。
java.util
util类是java为我们提供的一整套工具类。其中包含,获取时间,时间的格式转换,数字的运算,接收用户输入,生成随机数等。
Math
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数
常用方法
Date
构造方法
常用的方法
public long getTime()//获取时间
public void setTime(long time)//设置时间
Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法
常用的方法
Random
此类用于产生随机数
如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。