String toString
时间:2010-02-25 来源:huanghaojie
import java.util.*;
public class Demo {
public String toString(){
return “Demo address:”+this+“\n”
}
public static void main(String[] args) {
List v = new ArrayList();
for(int i = 0;i<10;i++)
v.add(new Demo());
System.out.println(v); this代表当前对象.你直接打印this就是打打印的当前对象的内存地址
super在你现在这个类中代表Object任何类就是Object的子类,你的Demo类没有显式的继承关系.所以super代表Object.
什么toString()方法重构了obj的方法.没看懂.
List v = new ArrayList();
//定义一个ArrayList数组变量v.
for(int i = 0;i<10;i++)
//下面的第一行代码循环执行10次
v.add(new Demo());
//每次循环在v中添加一个新的Demo对象,这里新的Demo对象的意思是,内存地址不一样,那打印v的toString()方法得出结果是打印v里面每个元素的toString()
所以你会得到10个不同的值.你记住在Java中只要遇到new关键字新创建的对象内存地址就不一样,简单来说.就是给你一个馒头,看new关键字了就是另外一个一样的馒头而不是原来那个馒头的引用.
public class Demo {
public String toString(){
return “Demo address:”+this+“\n”
}
public static void main(String[] args) {
List v = new ArrayList();
for(int i = 0;i<10;i++)
v.add(new Demo());
System.out.println(v); this代表当前对象.你直接打印this就是打打印的当前对象的内存地址
super在你现在这个类中代表Object任何类就是Object的子类,你的Demo类没有显式的继承关系.所以super代表Object.
什么toString()方法重构了obj的方法.没看懂.
List v = new ArrayList();
//定义一个ArrayList数组变量v.
for(int i = 0;i<10;i++)
//下面的第一行代码循环执行10次
v.add(new Demo());
//每次循环在v中添加一个新的Demo对象,这里新的Demo对象的意思是,内存地址不一样,那打印v的toString()方法得出结果是打印v里面每个元素的toString()
所以你会得到10个不同的值.你记住在Java中只要遇到new关键字新创建的对象内存地址就不一样,简单来说.就是给你一个馒头,看new关键字了就是另外一个一样的馒头而不是原来那个馒头的引用.
super.toString()方法的返回值为 getClass().getName() + '@' + Integer.toHexString(hashCode()) 类名@哈希值 而this表示当前类,相当于一个指针,指像该类的内存地址。 v是ArrayList的一个实例对象。v.add()表示要往集合中加入新的值。 把生成的几个demo对象全放在集合中。然后在通过System.out.println()打印出每个demo的地址~
回答者: 漫漫21 - 三级 2008-9-9 11:43
1.this就是对象本身,放在return后面的话,这里this就自动调用了this.toString()这个方法了 你这句语句是错误的,返回的内容是一个无限长度死循环的字符串 调用super.toString()就是调用父类的toString()方法,也就是Objece的toString()方法,这样的话,这个方法就正确了。。。 2.因为任何java对象的打印都是自动调用类本身的toString()方法的,这里首先调用了v的toString()方法,而v是List类型,list类型的打印就是调用对象本身的toString方法,也就是调用Demo的toString方法,所以用到了new Demo里面的方法,而且就是toString方法
回答者: 欣水寓言 - 六级 2008-9-9 11:46
this就是当前对象的引用. Demo d = new Demo(); 这句话分解一下: Demo d; 定义了一个引用d,d的类型为Demo d = new Demo();new Demo()创建了一个Demo对象.然后将d这个引用指向这个对象 this就代表某个类当中的当前的引用.
相关阅读 更多 +