黑马程序员技术交流社区

标题: 怎么在一个文件中实现这个java程序 [打印本页]

作者: Larno    时间: 2014-11-6 11:14
标题: 怎么在一个文件中实现这个java程序
编程实现:猫和狗都会叫,但猫是喵喵的叫,狗是汪汪的叫?定义一个动物类,在动物类(animal)中有一个叫的抽象方法。 写两个子类,一个猫一个狗,继承自动物类,并实现相应的抽象方法。
package com.itheima;


public class Test9 {


        /**9、 编程实现:猫和狗都会叫,但猫是喵喵的叫,狗是汪汪的叫?
         * 定义一个动物类,在动物类(animal)中有一个叫的抽象方法。
         *  写两个子类,一个猫一个狗,继承自动物类,并实现相应的抽象方法。
         * @param args
         */
        /**动物类
         * @author Administrator
         *
         */
        abstract class Animal{
                public abstract void call();
        }
       
        /**狗类
         * @author Administrator
         *
         */
        class Dog extends Animal{
                public Dog(){}


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


                @Override
                public  void call() {
                        System.out.println("喵喵喵..........");
                }
               
        }
        public static void main(String[] args) {
                //测试
                Animal dog = new Dog();
                dog.call();
               
               


        }


}

这个程序一直有错误 请改正

作者: dong53821713    时间: 2014-11-6 12:05
把Animal Cat Dog这几个类放到Test9类 外边
作者: 马个了黑_邓    时间: 2014-11-6 12:06
abstract class Animal{
    public abstract void call();
}

class Dog extends Animal{
        public Dog(){}
    public void call() {
            System.out.println("汪汪汪........");
   }           
}
class Cat extends Animal{
        public Cat(){}
    public  void call() {
            System.out.println("喵喵喵..........");
    }        
}
public class Test9 {
   
    public static void main(String[] args) {
            //测试
           Animal dog = new Dog();
           dog.call();
    }
}

楼主是这样吧。。。。你把抽象类写到主函数里。。。
作者: Evred    时间: 2014-11-6 12:25
public class Test9 {


        /**9、 编程实现:猫和狗都会叫,但猫是喵喵的叫,狗是汪汪的叫?
         * 定义一个动物类,在动物类(animal)中有一个叫的抽象方法。
         *  写两个子类,一个猫一个狗,继承自动物类,并实现相应的抽象方法。
         * @param args
         */
        /**动物类
         * @author Administrator
         *
         */
        abstract class Animal{
                public abstract void call();
        }
        
        /**狗类
         * @author Administrator
         *
         */
        class Dog extends Animal{
                public Dog(){}


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


                @Override
                public  void call() {
                        System.out.println("喵喵喵..........");
                }
               
        }
        public static void main(String[] args) {
                //测试
                Animal dog = new Dog();//因为Animal 是抽象类 不能够被实例化,也不能引用子类的对象,所以出错了。
                dog.call();
               
               


        }


}

作者: Larno    时间: 2014-11-6 12:36
Evred 发表于 2014-11-6 12:25
public class Test9 {

怎么改正,我该不出来  帮我把这个给实现了

作者: Larno    时间: 2014-11-6 12:39
dong53821713 发表于 2014-11-6 12:05
把Animal Cat Dog这几个类放到Test9类 外边

非常感谢   :Q  原来我这么水
作者: Evred    时间: 2014-11-6 12:42
Larno 发表于 2014-11-6 12:36
怎么改正,我该不出来  帮我把这个给实现了

改下主函数里面的对象就ok了。具体如下:
public static void main(String[] args){
      Dog d =new Dog();
      d.call();
      Cat cat =new Cat();
      cat.call();
     
}
作者: lighter    时间: 2014-11-6 13:48
2楼正解
作者: OnlyStyle    时间: 2014-11-6 15:01
类中写个抽象类,这个可以么?
作者: Larno    时间: 2014-11-6 15:06
OnlyStyle 发表于 2014-11-6 15:01
类中写个抽象类,这个可以么?

不知道,没有大神解答。。。。。。。。。。。。。。。
作者: date1130    时间: 2014-11-7 00:47
:L好吧,,,加油,楼主。。。
作者: 王世虎    时间: 2014-11-7 01:34
Evred 发表于 2014-11-6 12:25
public class Test9 {

Animal dog = new Dog(); 这样写是可以的 建立父类引用指向子类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2