1.在原有的代码基础上添加
一个新类Pig,用接口中的shout()方法输出结果
package com.bdqn.demo;
interface Animal{//动物
void shout();
}
class Dog implements Animal{//狗
public void shout() {
System.out.println("WW!");
}
}
class Cat implements Animal{//猫
public void shout() {
System.out.println("MM!");
}
}
class Pig implements Animal{//猪
public void shout() {
System.out.println("OO!");
}
}
class Store{
public static Animal get(String choice) {
if(choice.equalsIgnoreCase("dog")) {
return new Dog();//返回狗
}else if(choice.equalsIgnoreCase("pig")) {
return new Pig();//返回猪
}
else {
return new Cat();//返回猫
}
}
}
public class Test3 {
public static void main(String[] args) {
Animal a1=Store.get("dog");
a1.shout();
}
}
一个新类Pig,用接口中的shout()方法输出结果
package com.bdqn.demo;
interface Eatable{//吃
void eat();
}
interface FlyingDiscCatchable{//玩飞盘
void catchingFlyDisc();
}
interface Swimmable{//游泳
void swim();
}
abstract class Pet{//宠物类
protected String name;//姓名
protected int health=80;//健康值
protected int love=60;//亲密度
public abstract void print(String name);
}
class Dog extends Pet implements Eatable,FlyingDiscCatchable{//狗类
public void eat() {
System.out.println("喜欢啃骨头");
}
public void catchingFlyDisc() {
System.out.println("正在接飞盘");
}
public void print(String name) {
this.name=name;
System.out.println("我的名字是"+this.name+",健康值是"+this.health+",和主人的亲密度是:"+this.love);
}
}
class Penguin extends Pet implements Eatable,Swimmable{//企鹅类
public void eat() {
System.out.println("喜欢吃鱼");
}
public void swim() {
System.out.println("正在游泳");
}
public void print(String name) {
this.name=name;
System.out.println("我的名字是"+this.name+",健康值是"+this.health+",和主人的亲密度是:"+this.love);
}
}
public class Test4 {
public static void main(String[] args) {
Dog dog=new Dog();
dog.print("旺财");
dog.eat();
dog.catchingFlyDisc();
Penguin p=new Penguin();
p.print("Q仔");
p.eat();
p.swim();
}
}