前几天在学习《java核心思想》这本书的时候,书中多次出现toString(),现将toString()的方法写出来:
JAVA中有一个根类Object,Object是是所有类的父类;
如果在申明中没有使用extends来继承Object,系统会默认
public class a{
}
等价于:
public class a extends Object{
s
}
系统默认的引入java.lang这个包,所以在编译的时候不用在引入这个包 ,由于a是继承的Object这个类 那么a这个类拥有Object这个类的所有方法
Obejct中有一个toString的方法;
package toString的方法;
public class TesttoString {
public static void main(String[] args) {
A a = new A();
//打印输出a 此时相当于输出a.toString();
System.out.println(a);
}
}
class A{
}
运行结果:
toString的方法.A@158f9d3
分析:toString
方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object
类的 toString
方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@
”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
下面对A类中的toString进行重写,使其返回一个字符串:
package toString的方法;
public class TesttoString {
public static void main(String[] args) {
A a = new A();
//打印输出a 此时相当于输出a.toString();
System.out.println(a);
}
}
class A{
//在A类中重写一个toString方法
//在重写toString()方法的时候to不能使大写
public String toString(){
return"我是重写的toString()方法";
}
}
运算结果:
我是重写的toString()方法
分析:如果不想使用默认的toString方法我们可以在类中重写其方法,该对象的字符串表示形式。