import java.awt.Color;
public class Cfc1
{
public static void main(String args[])
{
Cat cat1=new Cat("Java",12,21,Color.black);
Cat cat2=new Cat("C++",12,21,Color.white);
Cat cat3=new Cat("Java",12,21,Color.black);
System.out.println("猫咪1号:"+cat1);//为什么我输出cat1 cat2 cat3 就会输出toString里的内容
System.out.println("猫咪2号:"+cat2);//为什么我输出cat1 cat2 cat3 就会输出toString里的内容
System.out.println("猫咪3号:"+cat3);//为什么我输出cat1 cat2 cat3 就会输出toString里的内容
}
}
class Cat
{
private String name;
private int age;
private double weight;
private Color color;
public Cat(String name,int age,double weight,Color color)
{
this.name=name;
this.age=age;
this.weight=weight;
this.color=color;
}
public boolean equals(Cat cat)
{
if(this==cat)
{
return true;
}
else
{
return false;
}
}
public String toString()
{
StringBuffer sb=new StringBuffer();
sb.append("name="+name+"\n");
sb.append("age="+age+"\n");
sb.append("weight="+weight+"\n");
sb.append("Color="+color+"\n");
return sb.toString();
}
}
java
------解决方案--------------------
toString()方法返回对象的字符串表示;
也就是当打印输出一个对象时,系统自动调用其toString方法,打印的是toString方法的返回值。
如:你打印cat1,实际会调用cat1.toString()
------解决方案--------------------
说的对,如果不写重写 toString方法则会打印地址值