Java Object类详细介绍

TK 2020-09-23 15:12:33 java常见问答 6700

Object类是Java类库当中的一个特殊类,也是所有类的父类,下面的话就来对Java Object类做一个详细的介绍。

java允许把任何类型的对象赋给Object类型的变量,在一个类被定义了之后,假如,没有指定继承的父类,那么默认父类就是Object类,所以的话,下面两个类所表示的含义是一样的。

public class MyClass{…}

等价于:

public class MyClass extends Object {…}

因为Java所有的类都是Object类的子类,所以的话,任何java对象都能够调用Object类的方法。

下面的话就是常见的方法:(toString()、equals()方法和getClass()方法在Java程序当中是比较常用的)

Object类的常用方法

下面对toString()方法做一个介绍:

toString()方法返回该对象的字符串,当程序输出一个对象或者把某个对象和字符串进行连接运算时,系统会自动调用该对象的 toString() 方法返回该对象的字符串表示。

Object类的toString()方法返回“运行时类名@十六进制哈希码”格式的字符串,但很多类都重写了Object类的toString()方法,用于返回可以表述该对象信息的字符串。

哈希码(hashCode),每个Java对象都有哈希码属性,哈希码可以用来标识对象,提高对象在集合操作中的执行效率。

下面来看一下代码:

// 定义Demo类,实际上继承Object类
class Demo
{}
public class ObjectDemo01
{
    public static void main(String[] args)
    {
        Demo d = new Demo(); // 实例化Demo对象
        System.out.println("不加toString()输出:" + d);
        System.out.println("加上toString()输出:" + d.toString());
    }
}

输出结果:(程序是随机输出了一些地址信息,从程序的运行结果可以清楚的发现,加和不加 toString() 的最终输出结果是一样的,也就是说对象输出时一定会调用 Object 类中的 toString() 方法打印内容。所以利用此特性就可以通过 toString() 取得一些对象的信息)

不加toString()输出:Demo@15db9742
加上toString()输出:Demo@15db9742

如下代码:

public class Person
{
    private String name;
    private int age;
    public Person(String name, int age)
    {
        this.name = name;
        this.age = age;
    }
    public String toString()
    {
        return "姓名:" + this.name + ":年龄" + this.age;
    }
    public static void main(String[] args)
    {
        Person per = new Person("C语言中文网", 30); // 实例化Person对象
        System.out.println("对象信息:" + per); // 打印对象调用toString()方法
    }
}

输出结果:

对象信息:姓名:C语言中文网:年龄30

程序中的Person类中重写了Object类中的toString()方法,这样直接输出对象时调用的是被子类重写过的toString()方法。

以上的内容你都了解了吗?之后也会为大家继续介绍equals()方法和getClass()方法,请继续关注奇Q工具网的java入门栏目来进行了解吧。

推荐阅读:

Java Object类,equals()方法介绍

Java Object类,getClass()方法介绍

Java Object类,接收任意引用类型的对象详解