Object类
java.lang.Object类 不需要导包
类Object是类层次结构的根(最顶层)类。每个类都使用Object作为超(父)类。
所有对象(包括数组)都可以实现这个类的方法。
- toString方法
String toString() 打印对象的信息。
重写前:打印的是包名类名@地址值
重写后:打印的是对象中的属性值
注意事项:直接打印对象的名字,其实就是调用对象的toString方法 s = s.toString();
例如: Student s = new Student("Xxx",23);
// System.out.println(s); // 重写前:地址值
System.out.println(s); // 重写后:Student{name='Xxx', age=23}
- equals方法
Boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”。
重写前:比较的是对象的地址值
重写后:比较的是对象中的属性值
例如: Student stu1 = new Student("Xxx",23);
Student stu2 = new Student("Xxx",23);
// System.out.println(stu1.equals(stu2)); //重写方法前:false
System.out.println(stu1.equals(stu2)); //重写方法后:true
Objects类
java.util.Objects类 需要导包
- equals()方法
Objects类的equals方法:对两个对象进行比较,防止空指针异常
例如: String s1 = null;
String s2 = "abc";
// System.out.println(s1.equals(s2));// NullPointerException 空指针异常
boolean result = Objects.equals(s1,s2);
System.out.println(result);// false
日期相关类
java.util.Date:表示日期和时间的类
类 Date 表示特定的瞬间,精确到毫秒。
毫秒:千分之一秒 1000毫秒=1秒
特定的瞬间:一个时间点,一刹那时间 2088-08-808 09:55:33:333 瞬间
毫秒值的作用:可以对时间和日期进行计算 2099-01-03 到 2088-01-01 中间一共有多少天
(可以把日期转换为毫秒进行计算,计算完毕,再把毫秒转换为日期)
把日期转换为毫秒:
当前的日期:2088-01-01
时间原点(0毫秒):1970年1月1日00:00:00(英国格林威治)
就是计算当前日期到时间原点之间一共经历了多少毫秒(1604221149968L)
注意:
中国属于东八区,会把时间增加8个小时
1970年1月1日08:00:00
把毫秒转换为日期:
1天 = 24 x 60 x 60 = 86400秒 = 86400 x 1000 = 86400000毫秒
System.out.println(System.currentTimeMillis());
//获取当前系统时间到1970年1月1日00:00:00经历了多少毫秒
- Date类
1. 构造方法
(1)Date(); 获取的就是当前系统的日期和时间
例如: Date date = new Date();
System.out.println(date);//Sun Nov 01 17:10:14 CST 2020
(2)Date(long time); 传递毫秒值,把毫秒转换为Date日期
例如: Date d1 = new Date(0L);
System.out.println(d1);//Thu Jan 01 08:00:00 CST 1970
2. 成员方法
(1)long getTime(); 获取当前日期对象的毫秒值时间(相当于System.currentTimeMillis())
返回自1970年1月1日00:00:00 GMT 以来此Date对象表示的毫秒数。
例如: Date date = new Date();
long time = date.getTime();
System.out.println(time);//1604222483830
- DateFormat类&SimpleDateFormat类
java.text.DateFormat:是日期/时间格式化子类的抽象类(无法直接创建对象使用)
java.text.SimpleDateFormat是DateFormat的子类
作用:
格式化(也就是日期 --> 文本)、解析(文本 --> 日期)
1. 构造方法:
(1)SimpleDateFormat(String pattern) 根据指定模板创建日期格式化对象
参数:
String pattern:传递指定的模式
模式:是区分大小写的
y 年
M 月
d 日
H 时
m 分
s 秒
写对应的模式,会把模式替换为对应的日期和时间
“yyyy-MM-dd HH:mm:ss”
“yyyy年MM月dd日 HH时mm分ss秒”
例如:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2. 成员方法:
(1)String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符
例如: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String text = sdf.format(date);
System.out.println(text);//2020-11-01 17:57:28
(2)Date parse(String source) 把符合模式的字符串,解析为Date日期
例如: SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
Date date = sdf.parse("2020年11月01日 17时57分28秒");
System.out.println(date);//Sun Nov 01 17:57:28 CST 2020
注意事项:
parse方法声明了一个异常:ParseException解析异常。
调用抛出异常的parse方法时必须得处理这个异常,要么throws继续声明抛出这一个异常,要么try...catch自己处理这个异常
例如: public Date parse(String source) throws ParseException