Object类是Java类库当中的一个特殊类,也是所有类的父类,下面的话就来对Java Object类做一个详细的介绍。
java允许把任何类型的对象赋给Object类型的变量,在一个类被定义了之后,假如,没有指定继承的父类,那么默认父类就是Object类,所以的话,下面两个类所表示的含义是一样的。
public class MyClass{…}
等价于:
public class MyClass extends Object {…}
因为Java所有的类都是Object类的子类,所以的话,任何java对象都能够调用Object类的方法。
下面的话就是常见的方法:(toString()、equals()方法和getClass()方法在Java程序当中是比较常用的)
下面对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入门栏目来进行了解吧。
推荐阅读: