包和抽象类介绍--java进阶day02

1.package包

导包第二点需要注意

a包和b包都存有Student类,c包存有测试类,我们在c中创建Student对象,系统会询问你要哪个包的Student类,并自动帮你导包


.

在导完a包的学生类后,想要再次导入b包的学生类就不能再像之前那样导了

全类名导包

通过带包名将b包重复的学生类导入

2.抽象类介绍

抽象类就是特殊的父类,内部允许编写抽象方法

什么是抽象方法?

以猫吃鱼,狗吃肉的方式进行举例讲解

我们写了一个猫类和一个狗类,两者都有吃饭的共性的成员方法,那么我们就可以抽取出这个吃饭的方法,设置在动物的父类里

但在动物的父类里面,我们发现吃饭这个方法里面的逻辑不知道该写什么了,猫吃鱼,狗吃肉,那我们究竟是写鱼呢还是写肉呢?很简单,既然写不出,我们就不写了,设计为抽象方法

抽象方法:当抽取出子类中共性的方法于父类中,父类无法描述清楚该方法的逻辑,并且这个方法在子类中必须存在(猫必须吃鱼,狗必须吃肉)时,我们就可以将该方法设计成抽象方法

3.抽象类和抽象方法的语法

在类和方法上加入abstract关键字

eat()方法已经变为抽象方法,但是抽象方法必须存在于抽象类中,所以还需要在动物类上加入abstract


.

4.子类继承抽象类,就必须将抽象类中的抽象方法描述清楚

当我们将动物类写为抽象类后,猫类和狗类继承动物类,会发现子类报错了

因为,动物吃什么,在父类中说不清楚,但是在子类中就很明确了,猫吃鱼,所以必须将抽象方法重写

抽象方法重写快捷方式:alt+回车


5.总结


.

posted @ 2025-02-23 21:53  直実  阅读(14)  评论(0)    收藏  举报