用JAVA写了一个程序,但是输出是乱码。为什么??如何修改??代码如下:

interfacePet{publicStringgetName();publicStringgetColor();publicintgetAge();}classCat... interface Pet
{
public String getName();
public String getColor();
public int getAge();
}

class Cat implements Pet
{
private String name;
private String color;
private int age;
public Cat(String name,String color,int age)
{this.setName(name);
this.setColor(color);
this.setAge(age);
}
public void setName(String name)
{this.name=name;}
public void setColor(String color)
{this.color=color;}
public void setAge(int age)
{this.age=age;}
public String getName()
{return this.name;}
public String getColor()
{return this.color;}
public int getAge()
{return this.age;}
};

class Dog implements Pet
{
private String name;
private String color;
private int age;
public Dog(String name,String color,int age)
{this.name=name;
this.color=color;
this.age=age;
}
public void setName(String name)
{this.name=name;}
public void setColor(String color)
{this.color=color;}
public void setAge(int age)
{this.age=age;}
public String getName()
{return this.name;}
public String getColor()
{return this.color;}
public int getAge()
{return this.age;}
};

class PetShop
{
private Pet[] pets;
private int foot=0;
public PetShop(int len)
{this.pets=new Pet[len];}

public void add(Pet pet)
{
this.pets[this.foot]=pet;
this.foot++;
//for(int i=0;i<this.pets.length;i++)
System.out.println(this.pets[1]);}
}

public class S
{
public static void main(String args[])
{
PetShop ps=new PetShop(5);
ps.add(new Cat("白猫","白色",2));
ps.add(new Cat("黑猫","黑色",1));
ps.add(new Cat("小猫","棕色",2));
ps.add(new Dog("白狗","白色",4));
ps.add(new Dog("黑狗","黑色",3));
}

};
运行结果:
展开
 我来答
BrightNiGe
2014-11-18 · 超过14用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:21.6万
展开全部
System.out.println(this.pets[1]);
这句话打印的是对象,你可以在把pet实现为抽象类,覆写方法toString()
追问
能写下怎么修改吗??新手不太会啊,拜托了
追答
命运的左岸521
2014-11-18 · TA获得超过131个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:69.5万
展开全部
可以这样
public interface pet{
....
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}
追问
好高端的样子,还没又学到这个命令。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式