Object
介绍:
Object类地位比父类更高,算是祖宗类
专业术语是所有的跟类,对象(包括数组)都实现这个类的方法。
Object类中常用的两个方法:
public boolean equals(Object obj);
public String toString();
toString方法
public String toString();
返回的字符串默认格式:包名.类名@地址值
在实际的开发中,我们会重写toString方法,返回对象中的内容(属性值/成员变量)才有意义
(toString方法可以在idea中通过右键一键快速生成)
注:
实际上我们并不需要调用toString方法,我们直接打印对象名,编译器会自动调用toString
String s = 对象名.toString():
System.out.println(s);
===============================
System.out.println(对象名);
以上两种写法其实是相同的
equals方法
public boolean equals(Object obj);
判断其他某个对象是否与此对象相等
equals方法默认比较两个对象的地址值
在实际开发中,我们需要重写equals方法,比较两个对象的内容(属性值/成员变量),而不是比较地址值
快捷键:alt+ins,选择equals和hashcode
拓展:
==与equals的区别
对于基类类型来说, == 比较的就是数值
对于引用类型来说, == 比较的就是地址值, equals比较默认也是地址值,我们可以重写equals,重写后可以比较内容
时间日期类
Date类:
表示特定的瞬间,一个时间点
构造:
public Date();
创建一个代表当前时间的Date对象
public Date(long time);
创建一个时间对象,是距离标准时间time毫秒后的那个时间
标准时间(英国): 1970-01-01 00:00:00
标准时间(中国): 1970-01-01 08:00:00
成员方法:
public long getTime();
获取当前对象距离标准时间的毫秒值
public void setTime();
修改当前对象距离标准时间的毫秒值
Calendar
获取方法:
直接调用静态方法,该方法内部返回一个Calendar的子类对象
Calendar cc=Calendar.gentInstance();
常用方法:
public int get(int field);
根据成员变量(字段)的编号,获取其值
编号我们不需要死记硬背,因为Calendar中事先定义了一堆的静态常量
public void set(int field,int value);
根据成员变量的编号,修改其值
public void add(int field,int value);
根据成员变量的编号,增加其值
Math类
8个方法
1.public static double max(double d1,double d1);最大值
2.public static double min(double d1,double d1);最小值
3.public static double abs(double d);绝对值
4.public static double random();产生[0-1)的随机小数
5.public static long round(double d);四舍五入
6.public static double pow(double d1,double d2);
求d1的d2次方
7.public static double ceil(double d); 向上取整
8.public static double floor(double d);向下取整
System类
两个常用的静态方法
public static void exit(0);
退出JVM(程序结束)
public static long currentTimeMillis();
获取当前时间的毫秒值
自动拆箱和自动装箱的介绍
自动装箱:
编译器会自动把int类型 装箱成 Integer
Integer i = 10;
底层实际上是通过Integer.valueof(10)这个方法
自动拆箱:
int num = i;
底层实际上会通过 i.intValue()这个方法