这是动物乐园输出结果图
**动物乐园**
//父类
package com.iqn.zoo;
public abstract class Animal {
//名字 腿
private String name;
private int legNum;
//无参构造方法
public Animal(){
}
//带参构造方法
public Animal(String name,int legNum){
this.name=name;
this.legNum=legNum;
}
//构造一个普通抽象的shout方法 实现动物的各种叫声
public abstract void shout();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLegNum() {
return legNum;
}
public void setLegNum(int legNum) {
this.legNum = legNum;
}
}
//子类 猫类
package com.iqn.zoo;
public class Cat extends Animal implements Terrestrial{
public Cat(){
}
//带参猫类的构造方法
public Cat(String name,int legNum){
super(name,legNum);
super.setName(name);
super.setLegNum(legNum);
}
@Override
public int gerLegNum() {
return 0;
}
@Override
public void shout() {
System.out.println(getName()+"\t\t"+getLegNum()+"\t"+"喵喵喵儿!~");
}
}
//子类 鸭类
package com.iqn.zoo;
public class Duck extends Animal implements Terrestrial{
//无参鸭类
public Duck(){
}
//带参鸭类构造方法
public Duck(String name,int legNum){
super(name,legNum);
super.setName(name);
super.setLegNum(legNum);
}
public void shout(){
System.out.println(getName()+"\t\t"+getLegNum()+"\t"+"嘎嘎嘎!~");
}
@Override
public int gerLegNum() {
return 0;
}
}
//子类 海豚类
package com.iqn.zoo;
public class Dolphin extends Animal{
public Dolphin(){
}
//带参海豚类的构造方法
public Dolphin(String name,int legNum ){
super(name,legNum);
super.setName(name);
super.setLegNum(legNum);
}
@Override
public void shout() {
System.out.println(getName()+"\t\t"+getLegNum()+"\t"+"海豚音!~");
}
}
//接口
package com.iqn.zoo;
public interface Terrestrial {
//定义一个腿的接口
public int gerLegNum();
}
//Test 测试类
package com.iqn.zoo;
import java.util.Scanner;
public class Test {
static Scanner input=new Scanner(System.in);//接收数据
static Animal[] animals=new Animal[3];
static int choose;
//********************创建对象数组**********************
public static void start(){
animals[0]=new Cat("加菲猫",4);
animals[1]=new Duck("唐小鸭",2);
animals[2]=new Dolphin("海豚奇奇",0);
start1(); //方法调用
choose=input.nextInt();
}
//**********************main***********************************
public static void main(String[] args) {
start();//此时已执行过start()和start1。
while(choose==0){
//用try-catch-finally语句捕捉异常
try {
modify(); //调用自定义方法
} catch (Exception e) {
e.printStackTrace();
}finally{
start1();
choose=input.nextInt();
}
}
System.out.println(“谢谢使用!”);
}
//*****************遍历输出***********************
public static void start1(){
System.out.println(“动物的名字”+”\t腿的条数”+”\t动物叫”);
for(Animal animal:animals){
animal.shout();
}
System.out.println("是否继续修改数据:按0进行修改操作,其他任意数字键退出");
}
//************覆盖当前数组并进行对“腿”的数量进行异常校验*************
public static void modify() throws Exception{
String[] names=new String[3];
int[] legNums=new int[3];
System.out.println("请输入猫的名字:");
names[0]=input.next();
System.out.println("请输入猫有几条腿:");
legNums[0]=input.nextInt();
if(legNums[0]!=4){
throw new Exception("猫只能有四条腿!");
}
System.out.println("请输入鸭的名字:");
names[1]=input.next();
System.out.println("请输入鸭有几条腿:");
legNums[1]=input.nextInt();
if(legNums[1]!=2){
throw new Exception("鸭只能有两条腿!");
}
System.out.println("请输入海豚的名字:");
names[2]=input.next();
animals[0]=new Cat(names[0],legNums[0]);
animals[1]=new Duck(names[1],legNums[1]);
animals[2]=new Dolphin(names[2],legNums[0]);
}
}
----------
希望可以帮到大家!求IT大牛指点~谢谢!