第六章 接口

 1.在原有的代码基础上添加
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();
	}
}





猜你喜欢

转载自blog.csdn.net/jiangmye/article/details/80186259