API
API(Application Programming Interface)
,应⽤程序编程接⼝。
Java API
是⼀本程序员的
“
字
典
”
,是
JDK
提供给我们使⽤的类的说明⽂档。这些类将底层的代码实现封装了起来,我们不需要
关⼼这些类是如何实现的,只需要学习这些类如何使⽤即可。所以我们可以通过查询
API
的⽅
式,来学习
Java
提供的类,并得知如何使⽤它们。
Object类
java.lang.Object
类是
Java
语⾔中的根类,即所有类的⽗类。它中描述的所有⽅法⼦类都可以
使⽤。在对象实例化的时候,最终找的⽗类就是
Object
。如果⼀个类没有特别指定⽗类,那么默认则继承⾃Object
类。
⽅法摘要
public String toString() :返回该对象的字符串表示。
public class Person {
private String name;
private int age;
@Override
public String toString() {
return "Person{" + "name='" + name + '\'' + ", age=" + age + '}';
}
} //如果不希望使⽤toString⽅法的默认⾏为,则可以对它进⾏覆盖重写。
public boolean equals(Object obj) :指示其他某个对象是否与此对象
“
相等
”
。
如果没有覆盖重写equals
⽅法,那么
Object
类中默认进⾏
==
运算符的对象
地址
⽐较,只要不是 同⼀个对象,结果必然为false
。
如果希望进⾏对象的内容⽐较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以
覆盖重写
equals
⽅法。
import java.util.Objects;
public class Person {
private String name;
private int age;
@Override
public boolean equals(Object o) {
// 如果对象地址⼀样,则认为相同
if (this == o)
return true;
// 如果参数为空,或者类型信息不⼀样,则认为不同
if (o == null || getClass() != o.getClass())
return false;
// 转换为当前类型
Person person = (Person) o;
// 要求基本类型相等,并且将引⽤类型交给java.util.Objects类的equals静态⽅
法取⽤结果
return age == person.age && Objects.equals(name, person.name);
}
}
Date类
java.util.Date 类表示特定的瞬间,精确到毫秒。
作用:用来做时间的显示
import java.util.Date;
public class Demo01Date {
public static void main(String[] args) {
// 创建⽇期对象,把当前的时间
System.out.println(new Date());
// 创建⽇期对象,把当前的毫秒值转成⽇期对象
System.out.println(new Date(0L)); // Thu Jan 01 08:00:00 CST 1970
}
}
常用API
setTime() - 设置时间
getTime() - 获得时间
boolean after(Date when)
测试此日期是否在指定日期之后。
boolean before(Date when)
测试此日期是否在指定日期之前。
DateFormat类
java.text.DateFormat 是⽇期
/
时间格式化⼦类的抽象类,我们通过这个类可以帮我们完成⽇期
和⽂本之间的转换
,
也就是可以在
Date
对象与
String
对象之间进⾏来回转换。
格式规则:
常用方法:
public String format(Date date) :将
Date
对象格式化为字符串。
public Date parse(String source) :将字符串解析为
Date
对象。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
把Date对象转换成String
*/
public class Demo03DateFormatMethod {
public static void main(String[] args) {
Date date = new Date();
// 创建⽇期格式化对象,在获取格式化对象时可以指定⻛格
DateFormat df = new SimpleDateFormat("yyyy年MM⽉dd⽇");
String str = df.format(date);
System.out.println(str); // 2021年8⽉5⽇
String str = "2019年12⽉11⽇";
Date date = df.parse(str);
System.out.println(date); // Tue Dec 11 00:00:00 CST 2019
}
}
Calendar类
java.util.Calendar 是⽇历类,在
Date
后出现,替换掉了许多
Date
的⽅法。该类将所有可能⽤
到的时间信息封装为静态成员变量,⽅便获取。⽇历类就是⽅便获取各个时间属性的。
Calendar为抽象类,由于语⾔敏感性,
Calendar
类在创建对象时并⾮直接创建,⽽是通过静态⽅ 法创建,返回⼦类对象,如下:
import java.util.Calendar;
public class Demo06CalendarInit {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
}
}
常⽤⽅法:
public int get(int field) :返回给定⽇历字段的值。
public void set(int field, int value) :将给定的⽇历字段设置为给定值。
public abstract void add(int field, int amount) :根据⽇历的规则,为给定的⽇历
字段添加或减去指定的时间量。
public Date getTime() :返回⼀个表示此
Calendar
时间值(从历元到现在的毫秒偏移
量)的
Date
对象。
Calendar类中提供很多成员常量,代表给定的⽇历字段: