Java动态数组

package com.zhou.basics.dinamicarray;

public class Animal {
    private String name;
    public String say(){
        return name+" 叫了一声:";
    }

    public Animal(String name) {
        this.name = name;
    }
}

class Dog extends Animal{
    private String name;
    private String behavior;
    public String getName() {
        return name;
    }

    public Dog(String name, String behavior) {
        super(name);
        this.name=name;
        this.behavior = behavior;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBehavior() {
        return behavior;
    }

    public void setBehavior(String behavior) {
        this.behavior = behavior;
    }

    @Override
    public String say(){
        return super.say()+"汪";
    }

    public String behavior(){
        return "名字:"+getName()+" "+getBehavior();
    }
}

class Cat extends Animal{
    private String name;
    private String behavior;

    public String getName() {
        return name;
    }

    public Cat(String name, String behavior) {
        super(name);
        this.name=name;
        this.behavior = behavior;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBehavior() {
        return behavior;
    }

    public void setBehavior(String behavior) {
        this.behavior = behavior;
    }

    @Override
    public String say(){
        return super.say()+"喵";
    }

    public String behavior(){
        return  getName()+" "+getBehavior();
    }


}

class demo{
    public static void main(String[]args){
        Animal[] animals=new Animal[5];
        animals[0]=new Animal("狮子");
        animals[1]=new Dog("小汪","吃骨头");
        animals[2]=new Dog("汪汪","吃肉");
        animals[3]=new Cat("小喵","抓老鼠");
        animals[4]=new Cat("喵喵","睡觉");
        for (Animal animal:animals){
            //公共的方法
            System.out.println(animal.say());

            //私有方法可以通过 instanceof判断,然后进行强转
            if(animal instanceof Dog){
                System.out.println(((Dog)animal).behavior());
            }
            if(animal instanceof Cat){
                System.out.println(((Cat)animal).behavior());
            }
        }

		/*     输出结果  
		 狮子 叫了一声:
        小汪 叫了一声:汪
        名字:小汪 吃骨头
        汪汪 叫了一声:汪
        名字:汪汪 吃肉
        小喵 叫了一声:喵
        小喵 抓老鼠
        喵喵 叫了一声:喵
        喵喵 睡觉*/


    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值