Object,Date,包装,Math,System类总结

                              #**Object**

Object类:顶级父类
每一个类都会默认的直接或者间接的继承这个Object类
所以,我们创建的类或者java给的类都可以使用Object类中的方法
关于Object类中的toString方法
public String toString(){
return getClass().getName+"@"+Integer.toHexString(hashCode());
}
注意
1,如果一个类没有重写Object类中的toString方法,那么直接输出对象名的时候,是一个地址值(因为默认调用了Object类中的toString方法),因为Object类中的toString就是返回了一个地址值
2,如果一个类重写了Object类中的toString方法,那就直接调用重写后的toString方法(重写的toString方法,如果再输出地址值,就没有意义了,所以,我们重写的toString方法返回的一般都是属性值的字符串形式)
关于Object类中的equals方法
public boolean equals(Object obj){
return (this==obj)
}
关于= =的使用
注意事项
——如果是基本数据类型,那比较的是值
——如果是引用数据类型,那比较的是地址值
1,不重写Object类中的equals方法,那么调用equals方法的时候,默认走的是Object类中的,比较的是地址值
2,重写了equals方法之后,我们应该比较的是属性值,我们就调用重写的equals方法(在String类中就重写了equals方法,比较字符串的内容是否相等)
拓展
关于重写equals方法应该思考的问题
第一个问题:传递的实参是p2,Object参数接受的就是Person类型,我们应该调用Person中的name和age去比较值是否相等,那么Object obj = p2,无法调用Person中特有的name,age?
解决办法:向下转型
第二个问题:如果我们传递的不是Person类型,那么向下转型的时候,会因为类型不一致而报错(ClassCastException)
解决办法:利用instanceof去判断
第三个问题:如果我们传递的是null,那么我们还得去判断一下,效率较低
解决办法:从上面做非空判断
第四个问题:如果传递的是自己,就不要获取name,age(效率低)
解决办法:直接比较自己的地址值,提高效率

                              #**Date类**

java.util.Date
1,概述:类Date,表示特定的瞬间,精确到毫秒
瞬间:一眨眼的功夫,转瞬之间
毫秒:时间单位,1秒=1000毫秒
作用:表示时间,测试代码的运行效率
获取毫秒:System.currentTimeMillis()——(是System类下的静态方法,可以直接类名调用)
注意:要算2017-6-6到2019-4-16之间的时间是基于时间原点来算的(1970年1月1日 00:00:00)
2,Date的使用
<1>构造方法
Date()–>直接获取当前时间
Date(long date)–>根据毫秒值获取时间
方法
—public long getTime() 把日期对象转换成对应的时间毫秒值
—public void setTime(long time) 把方法参数给定的毫秒值设置成日期对象
关于DateFormat类的使用
1,概述:是一个时期格式化的类,是一个抽象类
2,使用的时候:创建子类对象 SimpleDateFormat
3,new SimpleDateFormat(给一个格式)
年 y;月 M;日 d;时 H;分 m;秒 s
注意:大小写不能写错,但是中间的连接符随便写
4,方法
—public String format(Date date):讲Date对象格式化化为字符串
—public Date parse(String source):将字符串解析为Date对象
关于Calendar类的使用
1,创建方法:static Calendar getInstance()
2,注意:月份:0-11,1-12
3,方法
—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对象
关于包装类方面的知识
Integer–>类–>java.lang(不用导包)
用法:将基本数据类型或者字符串转成包装类(引用数据类型)
1,public Integer(int value)–>基本数据类型转成包装类
2, public Integer(String value)–>将字符串转成包装类(填写的字符串要符合数字格式“1”)
3, public static Integer valueOf(int i)–>基本数据类型转成包装类
4, public static Integer valueOf(String i)–>将字符串转成包装类(填写的字符串要符合数字格式“1”)
装箱和拆箱–>过程我们不管,都是自动的
装箱:将基本数据类型转成引用数据类型(包装类)
拆箱:将引用数据类型(包装类)转成基本数据类型
intValue()–>将包装类转成对应的基本数据类型(其他的与这个类似)
关于基本数据类型和字符串的转换
基本–>字符串:拼接 " "
String类的静态方法valueOf()
字符串–>基本数据类型
parseXXX()
关于System类
System–>是一个类
out–>是System类中的成员变量–>被static final修饰
方法
1,public static void exit(int status)终止当前运行 Java 虚拟机,非零表示异常终止
2,public static long currentTimeMillis() 返回当前时间(以毫秒为单位)–>测试效率
3,public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)–>复制数组元素
src:原数组
srcPos:从原数组的第几个索引开始复制
dest:目的数组
destPos:从目的数组的那个索引开始复制
length:复制多长
关于Math类
Math(数字类)
特点:所有的方法都是静态的(工具类)
使用:类名直接调用
方法
—public static int abs(int a) 返回参数的绝对值
—public static int max(int a,int b) 返回两个int值的较大值
—public static int min(int a,int b) 返回两个int值的较小值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值