问答详情
源自:9-1 Java 中的继承

不知道哪里错了,请大神帮忙指出

public class jicheng {
    public static void main(String args[]){
        rabbit b1=new rabbit("兔子");
        tiger b2=new tiger("老虎");
        b1.print();
        b1.eat();
        b1.sleep;
        System.out.println("");
        b2.print();
        b2.eat();
        b2.sleep();
    }

}
class animal{
    protected String name;
    public void eat(){
        System.out.println("吃啊");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}
class rabbit extends animal{
    public rabbit(String name){
        this.name=name;
    }
    public void eat(){
        System.out.println("吃草");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}
class tiger extends animal{
    public tiger(String name){
        this.name=name;
    }
    public void eat(){
        System.out.println("吃肉");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}
    

提问者:木槿花半夏如烟0 2016-05-27 18:37

个回答

  • 慕码人6349566
    2016-05-27 23:05:15
    已采纳

    public class jicheng {
        public static void main(String args[]){
            rabbit b1=new rabbit("兔子");
            tiger b2=new tiger("老虎");
            //要打印出动物名字,需要获取name
            System.out.println(b1.name);
            b1.eat();
            b1.sleep();
            System.out.println("");
            System.out.println(b2.name);
            b2.eat();
            b2.sleep();
        }
    
    }
    class animal{
        protected String name;
        public void eat(){
            System.out.println("吃啊");
        }
        public void sleep(){
            System.out.println("睡觉");
        }
    }
    class rabbit extends animal{
        public rabbit(String name){
            this.name=name;
        }
        public void eat(){
            System.out.println("吃草");
        }
        public void sleep(){
            System.out.println("睡觉");
        }
    }
    class tiger extends animal{
        public tiger(String name){
            this.name=name;
        }
        public void eat(){
            System.out.println("吃肉");
        }
        public void sleep(){
            System.out.println("睡觉");
        }
    }


  • 木槿花半夏如烟0
    2016-05-28 13:13:58

    哦哦,对了额,谢谢啊

  • 木槿花半夏如烟0
    2016-05-27 21:34:44

    输出的结果是兔子吃草睡觉,老虎吃肉睡觉,可是运行结果不对,把这个b1.print();删除后也还是不行,是怎么回事啊,求大神解答

  • qq_卟懂_03360209
    2016-05-27 18:57:11

    package guqingtong;


    public class HelloWorld {

        public static void main(String args[]){

            rabbit b1=new rabbit("兔子");

            tiger b2=new tiger("老虎");

             

            b1.eat();

            b1.sleep();

            System.out.println("");

          

            b2.eat();

            b2.sleep();

        }


    }

    class animal{

        protected String name;

        public void eat(){

            System.out.println("吃啊");

        }

        public void sleep(){

            System.out.println("睡觉");

        }

    }

    class rabbit extends animal{

        public rabbit(String name){

            this.name=name;

        }

        public void eat(){

            System.out.println("吃草");

        }

        public void sleep(){

            System.out.println("睡觉");

        }

    }

    class tiger extends animal{

        public tiger(String name){

            this.name=name;

        }

        public void eat(){

            System.out.println("吃肉");

        }

        public void sleep(){

            System.out.println("睡觉");

        }

    }

     //b1.print();这个方法你没有定义啊 ,怎么调用