首页 > 其他 > 详细

第一次打卡

时间:2019-04-08 20:30:11      阅读:158      评论:0      收藏:0      [点我收藏+]

晚上复习JAVA的继承,刚学时觉得很简单,过几天复习发现自己什么都不记得了,可见当时学的时候并没有学到精髓,只是初步的了解。

只有不断的自己去多敲代码,才能正真融汇贯通。

package com;

public class Animal {
    String name;
    public Animal() {
        
    }
    public Animal(String name) {
        this.name = name;
    }
    public void eat() {
        System.out.println(name + "在吃东西");
    }
    public void sleep() {
        System.out.println(name + "在睡觉");
    }

}
public class Rabbit extends Animal{
    public Rabbit() {
        
    }
    public Rabbit(String name) {
        super(name);
    }
    public void eat() {
        System.out.println(name + "吃草");
    }

}

public class Tiger extends Animal{
    public Tiger() {
        
    }
    public Tiger(String name) {
        super(name);
    }
    public void eat() {
        System.out.println(name + "吃肉");
    }

}

public class TestAnimal {

    public static void main(String[] args) {
        Rabbit r1 = new Rabbit("兔子");
        r1.eat();
        r1.sleep();
        Tiger t1 = new Tiger("老虎");
        t1.eat();
        t1.sleep();
    }

}


打上面这一段代码时,因为不熟练,出现一个错误
  “ public Rabbit() {
        
    }"这一段让我写成了

“ public String name;”

导致最后的结果出现了

“null吃草”

经过自己的思考,应该是自己所写的代码“ public String name;”直接覆盖了父类中的代码,导致于最后结果出错。

第一次打卡

原文:https://www.cnblogs.com/pkz-hn/p/10672877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!