《Java小程序——zoo》
1.描述:用到了类的封装,继承,抽象类,多态,接口,instanceof运算符
2.工具:eclipse.exe
3.功能:用数组遍历,同一函数,不同类调用输出不同功能
输出不同动物,不同腿数,不同叫声
/*****************************************************Author:Ivan Version:0.1 Date: File name:Animal.javaDescription:类*****************************************************/package ;//父类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.javaDescription:类*****************************************************/package ;//子类public class Cat extends Animal implements Terrestrlal{//子类中的构造函数父类中必需存在public Cat(){}public Cat(String name, int legNum) {super(name, legNum);// TODO Auto-generated constructor stubsuper.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.javaDescription:类*****************************************************/package ;public class Duck extends Animal implements Terrestrlal{public Duck(){}public Duck(String name, int legNum) {super(name, legNum);// TODO Auto-generated constructor stubsuper.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.javaDescription:类*****************************************************/package ;public class Dolphin extends Animal{public Dolphin(){}public Dolphin(String name, int legNum) {super(name, legNum);// TODO Auto-generated constructor stubsuper.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.javaDescription:接口*****************************************************/package ;//接口public interface Terrestrlal {int getLegNum();}
/*****************************************************Author:Ivan Version:0.1 Date: File name:Main.javaDescription:主函数*****************************************************/package ;public class Main {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubAnimal 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); //错误}}