【开发日常】【Java】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);    //错误
	}
}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan_ZGYF丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值