extends(继承)

在用java写项目时我就在思考能不像动物分类一样就像“界、门、纲、目、科、属”一样,后面我一了解在Java内有一个叫extends(继承),继承相当于父类属性遗传给了孩子。

如下所示

建立一个Animal类:
在这里插入图片描述
在建立一个Keeper类的:
在这里插入图片描述
注意:Keeper类里面的方法输入的参数是Animal类的,下文会用到。

这Animal表示一个大类表示动物的意思,在后面我在建立一个Dog的类 ,用来表示Animal这个动物类包含类Dog类;
在这里插入图片描述
注意:@Override表示重写一个方法,在Main类运行子类时起到一个注解的作用。
Main类里面这么写:
在这里插入图片描述
在Main类中注意: Animal dog = new Dog();
这表示父类性引用指向子类型对象
这表示一种多态。
解释:keeper表示饲养员,饲养员只喂动物具体是谁他不管。
注意:在代码运行时,因为 Animal dog = new Dog();在加上Dog类的extends让Dog拥有了Animal类的属性, 也为上文 zs.feed(dog,“done”);成功运行做好了铺垫。
提示:在程序运行时会先编译,而编译时又因为Animal dog = new Dog();会看看在Animal类中有没有eat方法,如果没就会报错,在确定有这种方法后之后运行,就会优先看看在子类Dog中有没有eat方法了,在这其中@Override就起到用处了,他表示重写的意思,系统看到这个了,就知道你重写了方法,如果你没有写,就会执行父类的方法,那有没有方法让子类必须重写方法内,有的有的,兄弟,那就需要用到abstract用来表示抽象(请听下回分解)。

更多推荐