一道Java初学者练习题,拜托了各位编程大神!

定义一个动物类,里面有一个方法voice(),定义一个类Cat,实现voice方法,然后增加一种新的动物类型:Pig(猪),实现voice()方法。定义一个Dog类,实现... 定义一个动物类,里面有一个方法voice(),定义一个类Cat,实现voice方法,然后增加一种新的动物类型:Pig(猪),实现voice()方法。定义一个Dog类,实现voice方法,定义一个Store(宠物店)类的getInstance方法:如果传入的参数是字符串dog,则返回一个Dog对象;如果传入pig,则返回一个Pig对象;否则,返回一个Cat对象。 展开
 我来答
德艺双馨520920
2018-11-25 · TA获得超过653个赞
知道小有建树答主
回答量:798
采纳率:92%
帮助的人:242万
展开全部

你好,提问者:

如果解决了你的问题,请采纳,若有疑问请追问,谢谢!

package com.zyx.cn.baidu_test;
/**
 * 动物类
 * @author yltd
 */
public interface Animal {
//voice方法
public void voice();
}
package com.zyx.cn.baidu_test;
/**
 * 猫类
 * @author yltd
 *
 */
public class Cat implements Animal {
@Override
public void voice() {
System.out.println("Cat");
}
}
package com.zyx.cn.baidu_test;
//猪类
public class Pig implements Animal {
@Override
public void voice() {
System.out.println("Pig");
}
}
package com.zyx.cn.baidu_test;
//狗类
public class Dog implements Animal {
@Override
public void voice() {
System.out.println("Dog");
}
}
package com.zyx.cn.baidu_test;
/**
 * 宠物店
 * @author yltd
 */
public class Store {

public Animal getInstance(String srt){
Animal animal =null;
if("dog".equals(srt)){
animal = new Dog();
}else if("pig".equals(srt)){
animal = new Pig();
}else{
animal = new Cat();
}

return animal;
}
}
package com.zyx.cn.baidu_test;
/**
 * 测试类
 * @author yltd
 */
public class AnimalTest {
public static void main(String[] args) {
Store store =new Store();
Animal animal_1 =  store.getInstance("cat");
animal_1.voice();
System.out.println("=============");
Animal animal_2 =  store.getInstance("dog");
animal_2.voice();
System.out.println("=============");
Animal animal_3 =  store.getInstance("pig");
animal_3.voice();
}
}
结果:
Cat
=============
Dog
=============
Pig
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式