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(); } }