Object 类的常用方法
Object 类是 Java 语言中的根类, 即所有类的父类. 它中描述的所有方法子类都可以使用. 所有类在创建对象的时候, 最终找的父类就是 Object.
== 可以比较的数据类型:
基本数据类型(也称原始数据类型) 应用双等号(==), 比较的是他们的值.
引用数据类型: 当他们用 (==) 进行比较的时候, 比较的是他们在内存中的存放地址(确切的说, 是堆内存地址).
equals 方法可以比较的数据类型:
只能比较引用数据类型, 在没有重写的情况下默认情况下还是比较数据的内存地址. 所以我们要重写该方法.
JAVA 当中所有的类都是继承于 Object 这个基类的, 在 Object 中的基类中定义了一个 equals 的方法, 这个方法的初始行为是比较对象的内存地址, 但在一些类库当中这个方法被覆盖掉了, 如 String,Integer,Date 在这些类当中 equals 有其自身的实现, 而不再是比较类在堆内存中的存放地址了
重写 equalsf 方法主要事项:
先判断传入进来的类是是不是自己, 是就可以直接返回
在判断传入进来的类是不是本类创建对象的. 使用 对象名 instanceof 类名 查看.
在把类名向下转型, 最后在返回比较结果
注意事项: 我们一般都使用自动生成的 equals 方法
- @Override
- public boolean equals(Object obj) { // 这是系统自动生成的
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- demo01 other = (demo01) obj;
- if (age != other.age)
- return false;
- return true;
- }
toString 方法
toString 方法返回该对象的字符串表示, 其实该字符串内容就是对象的类型 +@+ 内存地址值.
由于 toString 方法返回的结果是内存地址, 而在开发中, 经常需要按照对象的属性得到相应的字符串表现形式, 因此也需要重写它.
可以自动生成. 我们打印引用类型的变量名就是调用 toString 方法
- class Person extends Object{
- int age ;
- // 根据 Person 类的属性重写 toString 方法
- public String toString() {
- return "Person [age=" + age + "]";
- }
- }
来源: http://www.bubuko.com/infodetail-2970599.html