Object: 所有类的父类,那么Object的方法是其他所有类都具有的。
-hashCode(): 把对象通过某种算法变成一个数字, 每个对象的hashcode值不一样,
hashCode值就是对象的内存地址值
toString(): 我们在直接打印对象的时候,默认调用的就是toString()方法。 全限定名 + @ + 内存地址值(16进制)
equals(): 底层源代码就是==, 只能比较引用数据类型。 == 比较基本数据类型,比的是值 == 比较引用数据类型,比的是地址值 - finalize() JVM 垃圾回收有关系
面试题: equals和==有什么区别 final、finally、finalize的区别 思考: 如果我们创建对象的时候,属性都一样的情况下,那么这两个对象相同吗? 不相同,如果想让他们相同,需要重写hashcode和equals这两个方法 Strig 是一个用final修饰过 常量池: 存在于元空间(方法区),提高效率。 引用数据类型存在堆里面, String、StringBuffer、StringBuilder 包装类: 对基本数据类型的加强。
Date 日期类
public static void main(String[] args) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
Date beforeDate = format.parse("1999年10月1日");
System.out.println("出生日期的毫秒值:"+beforeDate.getTime());
Date afterDate = format.parse("2020年7月17日");
System.out.println("当前日期的毫秒值:"+afterDate.getTime());
Long num=afterDate.getTime()-beforeDate.getTime();
System.out.println("当前日期-出生日期的毫秒值:"+num);
Long days = num / (1000 * 60 * 60 * 24);
Long hours = num/ (1000 * 60 * 60);
Long minutes = num / (1000 * 60);
Long seconds = num / 1000;
System.out.println("出生日距今天多少天:"+days);
System.out.println("出生日距今天多少小时:"+hours);
System.out.println("出生日距今天多少分:"+minutes);
System.out.println("出生日距今天多少秒:"+seconds);
} catch (
ParseException e) {
e.printStackTrace();
}
}