首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

如何打印

2012-01-19 
怎么打印?package com.org.sxt.overloadpublic class OverLoad {public static void main(String[] args)

怎么打印?
package com.org.sxt.overload;

public class OverLoad {

public static void main(String[] args){
Person p = new Person();
Person p1 = new Person(2);
Person p2 = new Person(3,22);
}
}

class Person{
int id;
int age;

Person(){
id = 1;
age = 20;
}

Person(int _id){
id = _id;
age = 21;
}

Person(int _id, int _age){
id = _id;
age = _age;
}
}


这是个重载,现在想打印出p,p1,p2,应该怎么写啊?

[解决办法]

Java code
package com.org.sxt.overload;public class OverLoad {    public static void main(String[] args) {        Person p = new Person();        Person p1 = new Person(2);        Person p2 = new Person(3, 22);        System.out.println("p: " + p);        System.out.println("p1: " + p1);        System.out.println("p2: " + p2);    }}class Person {    int id;    int age;    Person() {        id = 1;        age = 20;    }    Person(int _id) {        id = _id;        age = 21;    }    Person(int _id, int _age) {        id = _id;        age = _age;    }        public String toString() {        return "Person id=" + id + " age=" + age;    }}
[解决办法]
在Person中重写toString()方法

public String toString(){
return "this.id = " + this.id + " this.age=" + this.age;
}

然后在main()方法中
System.out.println(p.toString);
System.out.println(p1.toString);
System.out.println(p2.toString);
[解决办法]
原理就是在下面语句中
System.out.println("p: " + p);

计算"p: " + p时会自动调用p.toString()
等价于
"p: " + p.toString()

如果这样写System.out.println(p);
也等价于
System.out.println(p.toString());

热点排行