紧承着第三天的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();