Object类
Obeject类是比较特殊的类,是所有类的老父亲,是java类层中的最高层类,用户创建一个类时,除非已经指定要求其他类进行继承,否则都是从java.lang.Object类中继承而来的。Java中的每个类都源于java.lang.Object类,比如string,integer等类都是从Object类中继承而来的,除此之外,的自定义的类也是都继承与Object类,可以这样说所有的类都是Object类的子类,所以在定义是可以省略extends,Object关键字。
class Anything{
}
=
calss Anything extends Object{
}
在Object类中主要包括clone(),finalize(),equals(),toString()等方法,其中常用的两个方法为equals()和toString()方法。犹豫所有的类都是Object类的子类,所以任何类都可以重写Object类中的方法
1,getClass()方法
getClass()方法是Object类定义的方法,他会返回对象已经执行的Class实例,然后使用此实例调用getName()方法取得类的名称。可以将getClass()方法与toString()方法联合使用。
getClass().getName();
2,toString()方法
toString()方法的功能是将一个对象返回字符串形式,他会返回一个String实例。在实际的应用中通常重写toString()方法,为对象提供一个特定的输出模式。当这个类转换为字符串与字符串连接是,将地洞调用重写的toString()方法,并在主方法中输出该类的实例对象。
在本实例中重写了父类Object的toString()方法,在子类的toString()方法中使用Object类中的getClass()方法获取当前运行的类名,定义一段输出字符串,当用户打印ObjectInstance 类对象时,将自动调用yoString()方法。
public class ObjectInstance {
public String toString() {
return "在"+getClass().getName()+"类中重写toString()方法";
}
public static void main(String[] args) {
System.out.println(new ObjectInstance());
}
}
运行结果如下:
3,equals()方法
equals()方法比较的是两个对象的实际内容
在项目中创建OverWriteEquals类,在类的主方法中定义两个字符串对象,调用equals()方法判断两个字符串对象是否相等
package object;
class V{
}
public class OverWriteEquals {
public static void main(String[] args) {
String s1="123";
String s2="123";
//实例话两个对象,内容相同
System.out.println(s1.equals(s2));
//使用equals()方法调用
V v1=new V();
V v2=new V();
//实例化两个V对象
System.out.println(v1.equals(v2));
}
}
运行结果如下;