没有合适的资源?快使用搜索试试~ 我知道了~
Java基础知识-day01【Object类、常用API】.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 56 浏览量
2023-10-26
18:11:18
上传
评论
收藏 621KB PDF 举报
温馨提示
试读
18页
java学习课件,供参考学习使用
资源推荐
资源详情
资源评论
day01【Object类、常用API】
主要内容
Object类
Date类
DateFormat类
Calendar类
System类
StringBuilder类
包装类
教学目标
能够说出Object类的特点
能够重写Object类的toString方法
能够重写Object类的equals方法
能够使用日期类输出当前日期
能够使用将日期格式化为字符串的方法
能够使用将字符串转换成日期的方法
能够使用System类的数组复制方法
能够使用System类获取当前毫秒时刻值
能够说出使用StringBuilder类可以解决的问题
能够使用StringBuilder进行字符串拼接操作
能够说出8种基本类型对应的包装类名称
能够说出自动装箱、自动拆箱的概念
能够将字符串转换为对应的基本类型
能够将基本类型转换为对应的字符串
第一章 Object类
1.1 概述
java.lang.Object 类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例
化的时候,最终找的父类就是Object。
如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:
根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。今天我们主要学习其中的2个:
publicStringtoString() :返回该对象的字符串表示。
publicbooleanequals(Objectobj) :指示其他某个对象是否与此对象“相等”。
1.2 toString方法
方法摘要
publicStringtoString() :返回该对象的字符串表示。
toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。
由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因
此也需要重写它。
覆盖重写
如果不希望使用toString方法的默认行为,则可以对它进行覆盖重写。例如自定义的Person类:
在IntelliJ IDEA中,可以点击 Code 菜单中的 Generate... ,也可以使用快捷键 alt+insert ,点击 toString() 选
项。选择需要包含的成员变量并确定。如下图所示:
publicclassMyClass/*extendsObject*/{
//...
}
publicclassPerson{
privateStringname;
privateintage;
@Override
publicStringtoString(){
return"Person{"+"name='"+name+'\''+",age="+age+'}';
}
//省略构造器与GetterSetter
}
小贴士: 在我们直接使用输出语句输出对象名的时候,其实通过该对象调用了其toString()方法。
1.3 equals方法
方法摘要
publicbooleanequals(Objectobj) :指示其他某个对象是否与此对象“相等”。
调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同的。这里的“相同”有默认和自定
义两种方式。
默认地址比较
如果没有覆盖重写equals方法,那么Object类中默认进行 == 运算符的对象地址比较,只要不是同一个对象,结果
必然为false。
对象内容比较
如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方
法。例如:
importjava.util.Objects;
publicclassPerson{
privateStringname;
privateintage;
@Override
这段代码充分考虑了对象为空、类型一致等问题,但方法内容并不唯一。大多数IDE都可以自动生成equals方法的
代码内容。在IntelliJ IDEA中,可以使用 Code 菜单中的 Generate… 选项,也可以使用快捷键 alt+insert ,并选
择 equals()andhashCode() 进行自动代码生成。如下图所示:
publicbooleanequals(Objecto){
//如果对象地址一样,则认为相同
if(this==o)
returntrue;
//如果参数为空,或者类型信息不一样,则认为不同
if(o==null||getClass()!=o.getClass())
returnfalse;
//转换为当前类型
Personperson=(Person)o;
//要求基本类型相等,并且将引用类型交给java.util.Objects类的equals静态方法取用结果
returnage==person.age&&Objects.equals(name,person.name);
}
}
剩余17页未读,继续阅读
资源评论
等天晴i
- 粉丝: 3472
- 资源: 10万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功