Java常用类--Object类
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常用类--Object类相关的知识,希望对你有一定的参考价值。
1. Object类
- 大家都知道Object是所有类的父类,任何类都默认继承Object。
- 理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类。
- 由于所有的类都继承在Object类,因此省略了extends Object关键字。
Obejct类的主要方法
- toString()
- getClass()
- equals()
- clone()
- finalize(
- 其中toString(),getClass(),equals是其中最重要的方法。
注意: Object类中的getClass(),notify(),notifyAll(),wait()等方法被定义为final类型,因此不能重写
1.1 toString()
说明:Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
- 该方法用得比较多,一般子类都有覆盖。
- 推荐类的所有属性都加上toString() 方法!
public class Student {
private int age;
private String name;
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + '\\'' +
'}';
}
}
1.2 getClass()
说明:返回次Object的运行时类类型。不可重写,要调用的话,一般和getName()联合使用,如getClass().getName();
package packge01;
public class Student {
private int age;
private String name;
public static void main(String[] args) {
Student student = new Student();
System.out.println(student.getClass());
}
}
package packge01;
public class Student {
private int age;
private String name;
public static void main(String[] args) {
Student student = new Student();
System.out.println("Name: " + student.getClass().getName());
System.out.println("Simple Name: " + student.getClass().getSimpleName());
}
}
1.3 equals()
- Object中的equals方法用来判断调用equals的对象和形参obj所引用的对象是否是同一对象。
- 所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false。
- 注意:即便是内容完全相等的两块不同的内存对象,也返回false。
- 如果是同一块内存,则object中的equals方法返回true,如果是不同的内存,则返回false。
- 如果希望不同内存但相同内容的两个对象equals时返回true,则我们需要重写父类的equal方法
- String类已经重写了object中的equals方法(这样就是比较内容是否相等了)
查看String类源码equals方法
示例:
public static void main(String[] args) {
String a = new String("a");
String A = new String("a");
System.out.println(a == A);// false
System.out.println(a.equals(A));// true
}
1.4 clone()
以上是关于Java常用类--Object类的主要内容,如果未能解决你的问题,请参考以下文章