欢迎光临散文网 会员登陆 & 注册

Java笔记--包、抽象类

2023-09-03 15:26 作者:爪哇岛江户川  | 我要投稿

一、包

1、什么是包?

包本质来说就是文件夹,用来管理类文件的。

2、导包

相同包下的类可以直接使用,不同包下的类需要导包才能使用。

3、如果不同包里面有两个相同名字的类,我们需要使用全类名来创建对象

假如我们创建了一个Scanner类,因为Java中本来就存在Scanner类,这个时候我们要是想键盘录入的话,必须使用全类名。java.util.Scanner。


二、抽象类:抽象类其实就是一种特殊的父类。特殊在其内部可以编写抽象方法。

1、什么是抽象方法呢?

举个例子:

有一个猫对象,其内部有一个吃饭方法(猫吃鱼)。

有一个狗对象,其内部也有一个吃饭方法(狗吃肉)。

它们两个具有相同共性的方法,可以抽取到父类之中,但是父类又对其方法不能准确描述。

这个时候,我们就将父类中的方法干脆不写了,直接加上分号。在前面加上abstract。

这个方法就是抽象方法,但是抽象方法只能存在于抽象类当中,所以我们要在父类的类名前也加上abstract,这个父类就是抽象类。

然后我们在子类中将父类的方法重写。

2、抽象类的注意事项:

<1>抽象类不能实例化

也就是不能创建对象。为什么呢,假设我们创建了一个抽象类,我们就可以根据抽象类的对象去调用抽象方法,但是抽象方法是没有逻辑的,它本身就是描述不清的,所以没有存在的意义。

<2>抽象类存在构造方法

抽象类不能创建对象为什么还存在构造方法?--交给子类,通过super进行访问,前面学习过子类的构造方法中第一句隐藏了一个super( );去调用父类的构造方法,如果不存在父类的构造方法,super( );就没用了。

<3>抽象类中可以存在普通方法

可以让子类继承到然后继续使用。

<4>抽象类的子类

要么重写父类中的所有的抽象方法,要么它本身也是一个抽象类。


Java笔记--包、抽象类的评论 (共 条)

分享到微博请遵守国家法律