文章目录
- Object类
-
- Object类的常用方法
-
- equals()方法
- 练习1 (equals)
- 练习2(equals)
- ToString()方法
- ToString()方法练习
- Junit单元测试方法的使用
Object类
1)没有属性
2)每个类实例化都会调用该根父类
Object类的常用方法
equals()方法
基本数据类型:比较值是否相等(自动类型转换,从而值相等)
引用数据类型:比较地址值
Ctrl+shift+P查看底层源码
实例
Object类的equals()也是比较地址值是否相等,最后一个true的原因如下:
String类重写了equals()方法(从前往后比较字符串内容,若都相同,输出true)
eclipse提供重写根父类equals()方法
##字符串常量池的设计妙处所在
方法区:字符串常量池,类的方法,包,类名
逻辑判断原因解析
小tips:字符串AA通过数组来存储
最后一个true关注原因,类比str1 == str2
总而言之,String为引用数据类型
练习1 (equals)
掌握重写equals()的基本流程
重写equals()方法,false变true
练习2(equals)
上述方法并不严谨,当子类和父类的属性相同时,同样返回true,其实应该返回false
建议利用eclipse提供的source来生成
ToString()方法
object类中的ToString()方法理解:
调用对象引用时,调用HashCode()方法,结合对象属性值,算哈希值
然后哈希值以16进制输出,实际对应对象实体在堆空间的首地址值
一言以蔽之:打印对象所在类及堆空间的对象实体信息
ToString()方法重写(手动/自动)
输出结果
ToString()方法练习
circle类
super空参自动调用,不要多此一举,注释处多余
学习String.valueOf的用法
###包装类导论
回顾:创建引用变量,new,引用变量栈,对象实体堆
基本数据类型都是值,无法调用方法,对象才能调用方法
基本数据类型对应的包装类,取值范围不变
特殊的Boolean可以取NULL(引用数据类型默认值)
Junit单元测试方法的使用
引入该单元来测试程序,从而不依靠main方法来运行该程序,好处在于main方法中要靠对象调用方法,而在此单元中直接调用,参照m1()