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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;

public class Test9 {

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

        }
       
        /**动物类
         * @author Administrator
         *
         */
        abstract class Animal{
                public abstract void jiao();
        }
       
        /**狗类
         * @author Administrator
         *
         */
         class Dog extends Animal{

               
                public void jiao() {
                        System.out.println("汪汪汪........");
                }
               
        }
        /**猫类
         * @author Administrator
         *
         */
        class Cat extends Animal{

                @Override
                public void jiao() {
                        System.out.println("喵喵喵..........");
                }
               
        }

}

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

1 个回复

正序浏览
可以单独封装一个功能 并在类中建立父类引用
比如增加一个DoAnimal类
class DoAnimal    //单独封装功能
{
        public void  doAnimal(Animal a) //建立父类引用
        {
                a.jiao();               
        }
}
然后主函数内可以如下定义:
                DoAnimal da =new DoAnimal();
                da.doAnimal(new Cat());
                da.doAnimal(new Dog());//DoAnimal中有jiao的方法,建立父类引用调用子类方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马