A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 史世锋 中级黑马   /  2015-9-6 21:37  /  305 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima;

abstract class Animal
{
        public abstract void shout();
}

class Dog extends Animal
{
        @Override
        public void shout()
        {
                System.out.println("汪汪");
        }
}

class Cat extends Animal
{
        @Override
        public void shout()
        {
                System.out.println("喵喵");
        }
}
public class Test9
{

        /**
         * 第9题:编程实现:猫和狗都会叫,但猫是喵喵的叫,狗是汪汪的叫?定义一个动物类,在动物类(animal)中有一个叫的抽象方法。
         *              写两个子类,一个猫一个狗,继承自动物类,并实现相应的抽象方法。
         * @param args
         */
        public static void main(String[] args)
        {
                Animal animal = new Dog();
                animal.shout();
                animal = new Cat();
                animal.shout();
        }
}


2 个回复

倒序浏览
你这个是把引用给了那个栈内的地址啊,意思是第一个dog的对象就会被gc执行了
回复 使用道具 举报
这算是多态
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马