目录
一、Object 类
1. 概述
Object 类
是类层次结构的 根类。每个类都使用Object
作为超类。每个类,都直接或间接继承Object
类- 我们所定义类,没有显示继承其他类,所有这些类在java语言中默认继承
Object
类,可以直接调用Object
的成员方法
2. equals() 方法
-
public boolean equals(Object obj)
-
Object 类的
equals
方法实现,对象上差别可能性最大的相等关系; -
即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用 同一个对象 时,此方法才返回 true
-
Object 默认
equals
方法比较的是 对象的地址,Object类中的equals
方法内部使用的就是==
比较运算符 -
但是,在实际开发中,我们通常认为,只要两个对象 内容相同(满足下面两个条件),那么它们就相等。所以经常需要子类 重写
equals
方法 -
同一个类的对象
-
成员变量值都相同
-
常规协定:
-
对于任何非空引用值 x,
x.equals(null)
都应返回 false -
自反性:对于任何非空引用值 x,
x.equals(x)
应返回 true -
对称性:对于任何非空引用值 x 和 y,当且仅当
y.equals(x)
返回 true ,x.equals(y)
也应该返回 true -
传递性:
x.equals(y)
返回 true,y.equals(z)
返回 true,x.equals(z)
也应该返回 true -
一致性:如果 x 和 y 引用的对象没有发生变化,反复调用
x.equals(y)
应该返回相同的结果
3. getClass() 方法
public final Class getClass()
- 获取该对象所对应的类的字节码文件对象 , 也是返回该对象的运行时类的java.lang.Class对象
JButton b1 = new JButton("button1");
System.out.println(b1.getClass())