toString()是Java中的一个内置方法
如果你在类里编写了toString,相当于覆盖了类中原有的toString
在System.out.print中会自动调用
如果你在类里编写了toString,相当于覆盖了类中原有的toString
在System.out.print中会自动调用
解决方案 »
- 跪求数学高手
- 暂未完成的程序,是一个下拉列表
- 输出问题没明白
- Java华容道游戏
- 怎么判断用户输入了多少个字符或者多少个数字?
- java1.5中不赞成使用 suspend()和resume(),应该如何挂起和恢复一个线程?
- [高分求助]关于JFreeChart的LineChart,为何createLineChart时用PlotOrientation.HORIZONTAL,然后再setItemLabelsVisible(true)结果Item
- finalize 方法什么时候调用
- 为何我的Applet程序(html)在客户浏览器(IE)中Applet部分显示为空白?
- 这个输出结果是什么?
- 静态变量 静态函数 继承问题
- for循环中代码效率求解
public String toString()
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。
结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”
和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
该对象的字符串表示形式。
ObjectInstance obj = new ObjectInstance();
System.out.println(obj.toString());
}
结果是输出当前类的类名.
System.out.println(new ObjectInstance()); 会默认调用toString()方法.
就像你定义一个 int i; 它的默认值会是0一样的
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
String类的valueOf方法的源代码:public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
所以如果传给println方法是一个对象,就调用这个对象的toString方法
public String toString(){
return "在"+getClass().getName()+"类中重写toString()方法";
}
public class static void main(String []args){
System.out.println(new ObiectInstance());
}
}
ObjectInstance这个类中复写了所有类的父类Object中的toString()方法。当创建一个新的对象的时候,并没有什么特别,只是一个匿名对象的创建,但是System.out.println这个方法的输出会自动调用这个对象的toString()方法,因为在类中已经复写了这个方法,复写的方法会被调用。所以会输出“在ObjectInstance类中重写了toString()方法”。getClass().getName()这个地方使用了反射获得当前对象。
你目前这个代码只要求打印toString 这个方法 所以就只会打印这个方法 至于其它的方法 应该会在内存中加载 毕竟你创建了一个实例
你目前这个代码只要求打印toString 这个方法 所以就只会打印这个方法 至于其它的方法 应该会在内存中加载 毕竟你创建了一个实例哦,谢谢了啊