一道Java初学者练习题,拜托了各位编程大神!
定义一个动物类,里面有一个方法voice(),定义一个类Cat,实现voice方法,然后增加一种新的动物类型:Pig(猪),实现voice()方法。定义一个Dog类,实现...
定义一个动物类,里面有一个方法voice(),定义一个类Cat,实现voice方法,然后增加一种新的动物类型:Pig(猪),实现voice()方法。定义一个Dog类,实现voice方法,定义一个Store(宠物店)类的getInstance方法:如果传入的参数是字符串dog,则返回一个Dog对象;如果传入pig,则返回一个Pig对象;否则,返回一个Cat对象。
展开
1个回答
展开全部
你好,提问者:
如果解决了你的问题,请采纳,若有疑问请追问,谢谢!
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询