学习Java的第四天——Object类的方法、对象包装器和自动打包

紧承着第三天的Object类,今天开始学习Object类的通用方法

1.equals方法

Object类中的equals方法用于测试某个对象是否和另一个对象相等

在这里插入图片描述

1.1编写equals方法

1.显式参数命名为otherObject
2.测试 this 同 otherObject 是否是同一个对象,如果是返回true
3.测试 otherObject是否为null ,如果为 null,返回false
4.测试 this 和 和 otherObject 是否属于同一个类,如果不属于同一个类,返回false
5.把 otherObject的类型转换为你的类型
6.最后,比较所有的字段,如果所有字段匹配返回 true, ,否则返回false
7	使用“ “ ==” ” 比较基本类型字段
	使用 equals 方法比较对象字段

1.2定义子类equals方法

1.如果调用超类的 equals 为 方法返回值为 false ,则子类的equals方法
返回false
2.如果调用超类的 equals 为 方法返回值为 true ,则继续比较子类的
实例字段

在这里插入图片描述

常见的实现equals方法的错误
在这里插入图片描述

2.toString方法

1.Object 的 类的 toString 方法返回一个代表该对象值的字符串
2.几乎每个类都会覆盖该方法,用来返回对该对象如当前状态的表示,例如Point的类的 toString 方法返回如下字符串

在这里插入图片描述

2.1定义子类的toString方法

定义子类的toString类方法时,在超类toString方法的基础上增加子类字段

在这里插入图片描述

无论何时对象同字符串相连接,那么就可以使用“ +” ” 时操符,这时Java编译
器会自动调用对象的toString方法获得对象的字符串表示。例如:

在这里插入图片描述

应在自己编写的每一个类中都添加toString方法,以方便在使用该类时进行调试

3.范型数组列表

数组列表

1.可以存放任意类型对象的“自动伸缩的数组”
2.构造一个保存Employee对象的数组列表
	ArrayList<Employee> staff = new ArrayList<Employee>();

4.对象包装器

4.1基本类型

每种基本类型都对应一个包装器类,所属的包为java.lang
在这里插入图片描述

4.1.1使用构造器构造对象包装器

包装器可以使用其所拥有的的基本类型或从数值字符串来构造
在这里插入图片描述

4.1.2使用valueOf工厂方法构造对象包装器

数值包装类中的静态方法valueOf用来创建一个数值包装类对象,并将初始化值表示为指定字符串表示的值
在这里插入图片描述

4.2Number类及其子类

1.数值型包装类的通用方法都封装在Number抽象类中
2.Number类定义了抽象方法用来将对象表示的数组转换为基本数值类型

在这里插入图片描述

数值包装器中的常量:	MAX_VALUE——对应基本类型的最大值
					MIN_VALUE——对应整型和浮点型的最小值

字符包装器中的方法
在这里插入图片描述
将数值型字符串转换为数值

每个数值包装类中有一个静态方法,用来将数值型字符串转换为该数值包装类代表的数值

在这里插入图片描述

5.自动打包

5.1自动打包

java编译器可以自动的将基本类型变量转换为其对应的包装类对象
在这里插入图片描述

5.2自动拆包

当将一个基本类型对应的包装类类型变量赋值给基本类型时,编译器会自动进行拆包,如:
在这里插入图片描述

6.枚举类

6.1枚举类的声明

在这里插入图片描述

6.2枚举类的常用方法

toString
返回枚举常量名,Size.SMALL.toString();
valueOf
构造枚举对象
Size s = (Size)Enum.valueOf(Size.class,“SMALL”);
value返回全部枚举值的数组
Size[] values = Size.value();

发布了8 篇原创文章 · 获赞 1 · 访问量 195

猜你喜欢

转载自blog.csdn.net/weixin_45406155/article/details/104091072
今日推荐