00:00
好了同学们,那么接下来我们来看一看这个object object这个类啊呃,也就是说其实啊,各位我提醒一下啊,到目前为止,我们面向对象就学完了,实际上啊,面向对象就学完了,各位啊。那么从此刻开始吧,往后啊。我们所有的东西基本上都是什么呀,都是基于什么呢?我们公司写的那个JDK那个源码,接着往下学的,那这个越往后学呢,越简单。为什么说越往后学越简单呢?因为啊,我们往后其实主要是调用别人写的东西。能懂我说的意思吧,就是别人写好的,什么意思呢?计算机下C盘下的一个叫做program file Java jdk打开,Library目录打开,然后大家看到这里src,这个SC其实是这个文件解压之后的原文件,这个原文件下面有很多东西,你看Java贝下你看。
01:00
这个Java浪下是不是很多,哎,这些我们可能都要学一些。啊,明白什么意思吧,就是说哎,这个这个类里边有什么方法,那个类里边有什么方法,这个方法是干啥的。明白吧,你只要是去你有对象去调方法就行,所以说大家想一想,这个以后的学习是不是就很轻松呀。是不是很轻松啊,大家想想啊,以前我们之所以说困难,原因是因为什么呢?原因是因为我们之前呀,都是什么呢,没有接触过的一些东西,我们呢,讲一些理论是吧,这些理论什么多肽呀,接口啊,怎么理解呀,是不是什么,呃,This啊,Static super啊,这都是很难去理解的,和内存图有关系的,当你把这些东西一旦储备好。哎,储备完成,那么接下来再往下,我们就不需要再储备这些理论了。我们要干什么呢?哎,我们就是要用一用别人写的东西。你看这么庞大的一个库,你看Java下面有没有负责IO流文件读和写的,你看通过这些东西我们就可以怎么着啊,哎,完成文件的读写,那你的任务是什么呢?同学,我简单介绍一下你的任务,以后天天就是new对象。
02:16
拗弯之后呢调方法。你有对象调方法。对象调方法。那你这个对象new你累也不用你写了。明白吗?你看人家写的这个类对吧,叫做a output stream。你看抽象的没法创建对象对吧,但是它呢,有一个此类叫file output stream,你看。是不是这个类叫做fire out,你看这里边儿有没有构造方法呀,你看。是不是有构造方法,构造方法里面是不是需要传个字符串,那么哎,是不是有构造方法,你看还可以传一个布尔类型,对不对?哎,那么我们以后啊,可能主要学的就是这些东西。
03:06
这堆代码从头到尾,你看这是几百行代码,459行,460行代码,这些代码都不需要你写,别人写好的,你的任务是把这个类的对象给我拗出来,你有这个对象,你得调什么呀?调这个里边构造方法呀,你把构造方法调完之后,哎,对象就有了,对象有了之后,大家好好看看这里面有没有方法,你看。往下走吧,咱们拉远一点,大家看这里有没有方法close,你看有close方法吗?哎,那么调close方法能干什么呀?是不是?哎,调个get fd这个方法你能干什么呀?是不是?哎,调这个get channel这个方法能干啥呀?对不对?哎,我们可能需要研究的就是别人写好这个方法。啊,所以说我们以后的开发还是比较轻松的,越往后学,那大家呢,啊,这个负担就会越轻。啊,但是我想说的是,如果你面向对象这一块。你这个根基没打牢。对吧,哎,什么你也不知道。
04:00
对吧,哎,你也不知道。对不对代那肯定也没听说过是不是,哎,提起来构造方法你也不知道是干啥的,是不是,提起来封装继承多态接口你都不知道是干啥的,那我觉得你后边学的可能就比较费劲一些。啊,往后咱不写,不学什么新的理论东西了,明白吗?哎,我们可能重点要学习的就是说别人写好的,我们怎么用啊怎么用,行简单给大家介绍一下啊,让大家稍微轻松一下啊,啊,稍微让大家轻松一下啊,行吧,那咱们来看看,那这么庞大的一个库,我们是不是应该先学一学老祖先啊。呃,大家是什么意思,没学好是吗?啊。没看对象,没学好呗。马上。数组也不是什么新东西啊,那算啥新东西啊?数数不算什么新东西。啊,那就是个容器,往里面放点东西,那算啥新东西啊,不算啊。
05:02
嗯。好。这我先关掉啊,那咱们先看看老祖宗吧,就是这个族谱当中的是不是,哎跟。啊,就是JDK类库的根类。Object。这个类当中我们的方法需要先研究一下,因为这个类里边的方法所有的子类都有。这个老祖宗。啊,类中的方法我们需要先干什么呀?先研究一下,因为这些方法都是所有子类通用的。任何一个类对吧?哎,任何一个类默认继承谁object。啊,就算没有直接继承,最终也会什么呀,间接继承。
06:03
最终也会间接继承啊,间接继承,就算没有直接继承,也会间接去继承他。啊,那行了,那咱们看一看吧,这个object这个类当中有哪些常用的方法呀。我们捋一下啊,那这个我们是不是得。干什么呀,我们是不得。嗯。打开源码了,各位。对吧,就是类当中有哪些常用的方法。我们去哪里找这些方法呢?去哪啊,哎,第一种方法是去哪儿。去源代码当中。但是。这种方式。
07:01
啊。呃,比较什么呀,麻烦比较麻烦。源代码也比较什么呀,难。对不对,第二种方式或者说方法,就你想找这些方法,第二种方法是怎么找啊。第二种是去查阅什么呀,查阅Java的。这个类库的帮助文档啊,去查阅Java的类库的帮助文档,也可以看到这个object类当中常用的方法有哪些啊,那行了,那查源代码的话,咱们也要知道啊,是在C盘的program file下。就是API,不是啊,API,这就是API,这叫API啊,这叫API,你说的那叫API帮助文档,后边还缺四个字啊,叫API帮助文档。
08:00
这个叫做API啊,就这这就是API类库就是API。啊。就有同学提到这个事儿的,咱说一下啊,什么是API。不是KPI啊,是API,叫应用程序编程接口。整个JD库的类库就是一个Java SE的API,每一个API都会配置。一套。API帮助文档。叫法不一样啊。其实API是。应用程序嘛,Application对吧,哎,Program应用程序。编程program啊,文档或者接口。啊,应用程序编程接口。
09:03
叫做。Interface应用程序编程。接口。其实就是一套类库,散公司写好的类,这套类库就是API啊,公司提前写好的这套内裤啊,就是API。一般啊,一般每一份API都对应一份什么呀?帮助文档啊,我们叫API帮助文档。来这块其实也可以介绍一下啊,介绍一下你看源代码加va base下加加va浪包是不是,哎加va浪包,然后谁呀,哎找一找呗,这里边有什么呀?啊有这个叫做object,看是不是object,这是源代码,你通过源代码的方式可以查看object类当中有哪些常用的方法,对不对,你也可以通过帮助文档,你也可以通过帮助文档。
10:12
啊,可以通过帮助文档去看,那行了,那我们看看帮助文档在什么地方,好吧,来。在我的电脑上哪里可以找到?回来啊呃,COST02加IZ,然后呢,Resource jdk帮助文档看见了吧。啊,这个是六的,你如果英文看不懂,你看这个中文的。嗯,看Jt1.8,看这个中文,这是不是中文啊,这是中文的。是中文的啊,来卡住了啊。啊,这是中文的,你看。对吧,这是八的啊,这是八的,然后呢,这块呢有11的,然后咱们JDK13实际上应该有个JDK13的一个帮助文档,对不对啊,这块的话无所谓了啊,因为现在我们不讲JDK的新特性,所以你用哪个都可以啊,你用这个吧,1.8的中文也行。
11:03
对吧,你如果用这个11,我们解压一个11看看啊。就这个11啊,来,我们打开它看一下。看一下打开DOSAPI行,那解压解压一份啊解压一份,解压解压一下。检验一份啊,看这个英文的。那么我问大家问题啊,以后大家是不是要翻帮助文档啊?以后你们开发是要翻那个帮助文档,还是翻翻源代码?同学们。啊。以后你是翻源代码还是翻帮助文档,哪个开发快?翻文档块吧。啊,来把这个打开啊,JDK11。打开之后呢,DOSAPI这里边找找有没有一个叫做index的,你看index啊,打开方式的话,我们用一下这个谷歌浏览器啊。打开了好了,打开之后呢,我们来点一下这里有个Java base,你看见没有所有的模块是吧?有个Java base点过去啊,点过去之后呢,我们这块呢,应该是有一些包是不是,大家看这里是不是有加个浪包。
12:12
对不对,哎,加油浪包,加油浪包package,然后加油浪包下面有没有很多类啊,你看是不是很多类。对不对,哎,有没有以O开始object,你看点过去,你看这就object类,你看看了吗?就是这个类,这个类里边有没有,有没有构造方法,你看叫constructor。是不是,哎,S英语单词里面以S结尾的,那就表示什么呀?哎表示这个有复数嘛,多个对不对?哎,但object里边构造方法只有几个呀,只有一个,你看构造方法摘要,诶只有一个构造方法。然后再往下是method summary表示我们方法摘要。方法这块有很多方法,你看这是什么?哎,方法的名字对不对,这是方法的什么呀?形式参数列表前面的是什么呀?是方法的返回值类型以及修饰符列表。
13:02
那么调这个方法,传什么参数,返回什么值都有,然后这个方法后边有没有描述,你看叫description,有一个简单描述描述。这是简短的描述,各位当你点过去之后,大家看这个是不是我们方法克隆这个方法下边比较详细的一个描述啊,对吧?哎,详细的描述,那大家现在可能比较感觉比较头疼的一件事,什么事呢?就是哎哟,这都是英文。是不是我看起来头疼啊?哎,我也头疼啊,我也头疼,所以说我们可以采用一下中文的文档啊,中文的文档,各位啊,中文的文档。下边这个是一个to string方法,看见没有,这个方法公开了吧,返回类型string吧,方法名叫to string吧,参数是,哎,没有参数吧,下边这是不是这个方法的一个描述信息啊。
14:10
换个浏览器可以网页翻译啊,有道理啊,下边这个诶,我们是一个描述信息,然后再往下,大家看这里returns这个单词,一看就知道,这个应该是我们这个方法的什么呀?哎,返回值类型。同学们,不好意思啊,我我现在来个电话,这个电话比较重要,我得接一下啊,稍等稍等啊,不好意思啊。不好意思,同学们啊,刚才有有有有个电话,重要电话接了一下,不好意思啊,呃,我们刚才说到哪,说到我们这个文档这一块,各位啊,我再提一下,因为以后的开发我们主要是查阅文档的啊,查阅文档的那有同学就问老师,这个文档是从哪来的呢?这个文档是从哪来的呢?这些英文都是从哪来的呢?诶,我们可以看一看啊,大家看这里有个class object吧,那么大家看这里有信息class object is the root of class是不是好,我们翻译一下原码,各位大家注意听课啊,来,回来,Public class object,这里有一个描述信息,看见了这个是斜杠星星,然后星星星星星斜杠,大家看这里有很多信什么,作者是谁呀?另请参见谁呀?自从1.0开始,这个类就有了呀,上面有个信息什么class啊,Object is the root of,看看大家看见没有?
15:26
这个帮助文档啊,实际上它不是我们后后来自己手写的,明白吗?整个这个帮助文档它是。他是干什么呀,从这提取的信息。啊,从这个你类当中,诶,写的这个注释信息,通过那个Java do命令提取出来的。啊,我不知道大家还有没有印象,我们曾经啊这么干过一回啊,但是但是当时只是简单说了一下在哪呀,在这个好像零二加VC啊,这个document不是document document应该在哪,我想想啊。
16:00
呃,再加PRODUCT02加YC,然后零一。不是。零二。哎,我放哪了,我好像。给过大家。零三啊,在这儿第三章这这块大家看我当时是不是生成了这个帮助文档啊,这个帮助文档我打开打开啊,大家看一下,你看是吧,这个文档看见没有。是不是我们生成的一个文档啊。对吧?哎,是通过什么生成的呀,是通过一个命令,我不知道大家还记不记得啊,那个命令叫什么。叫C盘的program file,然后Java下边有一个JDKDKD目录下有个Java这个命令你是知道的,然后呢,还有一个Java c,还有一个叫Java doc,看见没有这个Java doc的这个命令,哎,应该有那么一丢丢印象就行啊,这个命令就是用来专门从源码里边干什么呀,从这个源代码当中啊,提取出来你这个注释信息,并且把注释信息提取出来,生成到我们的帮助文档当中啊,帮助文档当中,所以说咱们的帮助文档其实不是我们后天写的啊,是根据这个Java源代码生成的啊,当然各位,如果以后大家开发过程当中,自己不想看帮助文档,直接想一步,就想看赞公司写的这个源代码,我抠这个源代码,根据源代码干啥呀?哎。
17:20
我去写写我的程序,那当然你更牛啊是不是,但这种方式你看毕竟不方便,你找这个源码找半天,这是第一点,第二点就是这个源代码当中,你看这个注释信息是不是,诶这看起来啊不方便啊,他不像这个文档里边,诶他最起码一眼搂过去的哦,有这个方法,有这个方法有这个方法,有这个方法一眼就可以看到,诶我想用这个方法,诶点过去看看哦,这个方法是干啥干啥的,这个方法呢,抛出什么什么异常,这个方法的返回值类型是怎样的,对吧?哎,这个方法是干什么用的诶。我们最好用帮助文档吧,各位,但是帮助文档我说了,这种英文的帮助文档可能又比较头疼是不是,所以我们尝试啊,用一下中文的帮助文档,各位啊,中文帮助文档。
18:01
好了,这是关于我们帮助文档的事儿啊,我不知道大家,我知道了半天,我说了半天,我不知道你有没有明白我在说什么事情啊,说什么事情,我们在笔记当中应该体现出什么呀?第一啊,Objective类,我们肯定得看看,这是族谱当中的一个根类型,因为所有的子类都有这个类当中的方法是不是?第二个object当中有哪些常用的方法?不好意思,同学们啊,抱歉抱歉抱歉啊。今天事比较多,不好意思啊。那我们这个object这个这是一个根类型,各位啊,这是根类型,这个根类型这一块的话,咱们要知道啊,它有哪些方法对不对,哪些方法我们说了有两个地方去找,第一个方法就是我们去源代码里去找,然后第二个方法就是去查阅我们Java类库的一个帮助文档,而我们帮助文档这块怎么看对吧,怎么看啊,刚才说到哪呢?说到这儿了啊,刚才就是因为有一个同学突然问了一下这个API的事,所以我在这里简单说一下,API是我们应用程序编程接口,其实就相当于是我们的一个类库,而这个类库呢,一般都会配一个帮助文档,而这个帮助文档被叫做什么?API的帮助文档,严格意义上来说,刚才我打开的那些文件都是API的帮助文档啊,API文档行了,这要理解就理解,不理解的话算了啊,后期我们还会再提这个事儿,那我们找找中文的吧。
19:16
来找一下中文的啊,在哪啊,在我这个D盘下cos下零二加YZ,然后document document了,呃,Resource,然后JK帮助文档,把这个叫做JK1.8的中文你可以打开。打开啊,打开之后呢,左边来看啊,这个文档怎么看,它有这么三个窗口啊,哪三个,左上角一个,然后左下角一个,右边有一个,那么左上角这个帮助文档呢,其实就说的是包,各位大家看包,其中有个包叫什么叫Java浪包,你看点这个浪包能看清吗这个字。加个浪包啊,点完之后呢,诶,左下角它就动了,下边显示的就是这个浪包当中的一些接口,你看interface是不是接口啊,再往下是不是class啊,是不是类啊,哎,就是类对吧?哎,再往下大家看这里有一个什么呀,叫object,你看object点过去你看object,所以object是类层次结构的,跟每个类都有objectle作为超类,所有对象包括数组都实现了这个类当中的方法,从JDK1.0开始,这个类就已经有了,对不对?哎,下边有构造方法摘要,你看这是个构造方法,无参的,你看是不是中文的还是好啊方法摘要你看所有方法是不是,哎,这是其中一个方法叫克隆。
20:24
对不对?哎,这是其中一个方法叫equals,还有方法叫find,是不是?哎,还有方法叫get class啊,还有cold notify notify on to string,还有wait wait wait这几个方法啊,那么这几个方法我们看哪几个呢?我们到目前为止我们学哪几个就够了呢?哎,常用的方法啊,我们列一下,目前为止啊,我们只需要知道这几个方法即可,哪几个方法呢,用冒号吧。
21:00
哪几个方法呢?来我复制一下各位啊。克隆。啊,克隆。各位啊,了解一下,这个我不掩饰啊,这个不演示,只是我在这里提一下啊,提一下,然后再往下equals。这个。你得知道。那这个先关掉。啊拿过来,然后呢,还有final你得知道。哎,这个你得知道,然后再往下的get class,先不用管它后期介绍哈扣你得知道一下。了解一下啊,了解一下,然后呢,我们再往下这个notify notify啊这个就不用管了啊,To你得掌握。啊,你掌握啊,然后呢,再往下这个wait还有we,还有wait这些方法,我们后期讲现成的时候,我们再说啊这块呢,这是现成相关的一些东西,对吧?哎,那行了,Object类当中啊,这几个方法我简单的列出来了,各位啊,列出来了这个这两个方法啊。
22:02
注意啊,这个是负责什么对象克隆的。我写到后边吧,负责对象克隆的。啊,这是一个什么呀,这是一个。嗯,获取什么呀,获取对象哈希码的一个方法。啊,或者获得对象哈希值的一个方法,哈希值。啊,然后这个是什么呢?是判断两个对象是否相等。啊,这个呢,是将对象转换成什么字符串形式,下边这个是哎,垃圾回收器负责调用的方法啊,叫垃圾。回收器负责调用的方法啊,调用方法。啊。那行,那我们把这几个方法先列到这儿啊,大家呢,先有一个印象,然后呢,我们至于说这些里边还有其他的方法,我们先。
23:06
不用管了啊,先不用管了。
我来说两句