1、toString()是Object类的一个方法
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。
它通常只是为了方便输出,比如System.out.println(xx),括号里面的xx如果不是String类型的话,就自动调用xx的toString()方法
总而言之,它只是sun公司开发java的时候为了方便所有类的字符串 *** 作而特意加入的一个方法,写这个方法就是为了方便 *** 作,所以执行System.out.println("字符串"+a1);语句时自动调用toString(),它等效于System.out.println("字符串"+a1.toString());
2、toString()的重写:
直接在类中重写
先来看看不重写时,这个程序的运行结果是怎样的:
从运行结果可以看出不重写的话是输出实例的信息
重写后:
以下是上面例子的代码:
class Person{ private char sex; private int age; //构造器 public Person(char s,int a) { sex=s; age=a; } public char getSex() { return sex; } public int getAge() { return age; } public void setSex(char sex) { this.sex=sex; } public void setAge(int age) { this.age=age; } //toString()的重写 public String toString() { return "性别是:" +sex +";" + "年龄是:" + age; } public static void main(String[] args) { Person p = new Person('男',22); System.out.println(p); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)