Java小程序——动物乐园zoo

《Java小程序——zoo》

 

1.描述:用到了类的封装,继承,抽象类,多态,接口,instanceof运算符

2.工具:eclipse.exe

3.功能:用数组遍历,同一函数,不同类调用输出不同功能

输出不同动物,不同腿数,不同叫声


/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:Animal.java
Description:类
*****************************************************/
package www.Ivan_zoo.com;

//父类
public abstract class Animal {
	
	//成员属性
	String name;
	int legNum;
	
	//类的封装
	public String getName() {
		return name;
	}

	public int getLegNum() {
		return legNum;
	}
	
	//构造函数
	public Animal(){
		
	}
	public Animal(String name , int legNum){
		
	}
	
	//成员方法(抽象类)
	public abstract void shout();
}

/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:Cat.java
Description:类
*****************************************************/
package www.Ivan_zoo.com;

//子类
public class Cat extends Animal implements Terrestrlal{
	
	//子类中的构造函数父类中必需存在
	public Cat(){
		
	}
	
	public Cat(String name, int legNum) {
		super(name, legNum);
		// TODO Auto-generated constructor stub
		super.name = name;
		super.legNum = legNum;
	}

	//抽象类具体实现(多态)
	public void shout(){
		System.out.println(name+"\t\t"+legNum+"\t喵喵喵~");
	}
}
/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:Duck.java
Description:类
*****************************************************/
package www.Ivan_zoo.com;

public class Duck extends Animal implements Terrestrlal{
	
	public Duck(){
		
	}
	
	public Duck(String name, int legNum) {
		super(name, legNum);
		// TODO Auto-generated constructor stub
		super.name = name;
		super.legNum = legNum;
	}

	public void shout(){
			System.out.println(name+"\t\t"+legNum+"\t嘎嘎嘎~");	
	}
}
/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:Dolphin.java
Description:类
*****************************************************/
package www.Ivan_zoo.com;

public class Dolphin extends Animal{

	public Dolphin(){
		
	}
	
	public Dolphin(String name, int legNum) {
		super(name, legNum);
		// TODO Auto-generated constructor stub
		super.name = name;
		super.legNum = legNum;
	}

	public void shout(){
		System.out.println(name+"\t\t"+legNum+"\t海豚音~");
	}
}

/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:Terrestralal.java
Description:接口
*****************************************************/
package www.Ivan_zoo.com;

//接口
public interface Terrestrlal {
	int getLegNum();
}

/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:Main.java
Description:主函数
*****************************************************/
package www.Ivan_zoo.com;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Animal pet1 = new Cat("加菲猫",4);
		Animal pet2 = new Duck("唐老鸭",2);
		Animal pet3 = new Dolphin("海豚奇奇",0);
		
		Animal zoo[] = {
				pet1,pet2,pet3
		};
		
		int i;
		for(i = 0; i< 3; i++){
			zoo[i].shout();
		}
		
		//对instanceof的理解
		Cat cat = new Cat();
		Dolphin dolphin= new Dolphin();
		
		System.out.println(cat instanceof Cat);
		System.out.println(cat instanceof Animal);
		System.out.println(cat instanceof Terrestrlal);
		System.out.println(dolphin instanceof Terrestrlal);
//		System.out.println(cat instanceof Dolphin);    //错误
//		System.out.println(dolphin instanceof Cat);    //错误
	}
}














你可能感兴趣的:(Java小程序——动物乐园zoo)