00:00
那讲完第五章,第五章呢,是面向对象,咱们接着讲第六章,第六章还是面向对象,还是面向对象,这一章呢,我们就把面向对象整体的内容呢就给截了,还剩哪些内容,还是回到我们最初说的三条主线,有始有终是吧。三条主线,第一条主线类和类的成员属性方法,过道器把最核心的讲了,还剩两个代码块和内部类,代码块在这儿,内部类在这儿,那么第一条主线呢,就完结了,第二条主线封装气能多肽呢,上一章已经完结了。然后第三条主线,关于其他的一些关键字的使用,这一章呢,我们提到了一些新的关键字了,这一章讲关键字这块稍微多一些代这个关键字,这个final关键字抽象类这块呢,你也可以把它归成是一个这个这个特征也行,但是呢,更多的人呢,会认为特征呢就三个,没有把这个抽象性呢,规程是一个特征了,那我们就把它呢看成是一个关键字的使用了,涉及到这个抽象叫abstract,也放成这个关键字的使用,那接口作为呢,跟类并列的一个结构,接口呢,也是非常重要的一类使用,那这呢也都归结为关键字的使用,这呢我们三条主线呢,就整个就完事,所以呢,基本上咱们这三条主线就能够把面向对象的这些内容呢,就都覆盖住了,都能覆盖住这个内容的话呢,只是我们相当于又复习了一下,咱们第一天呢,就开始写public static word may,包括还有行参那。
01:33
那从来也没有具体的去说一下,说这个结构到底是一个什么意思,里边呢涉及到一些关键字,咱们以前也没有讲,因为呢,像static都没说过,所以也讲不了,所以大家呢,就当时先记住它是作为程序的入口出现的,那么讲了study以后,这个main方法当中的这几个关键字或者单词,我们就没有不认识的了,我们呢,再重新呢,再认识一下make,就这个意思,那我们呢,面向对象整体就这些内容,那接下来呢,咱们就按照这个顺序呢进行讲解,首先是static static看到一个关键词的使用,关键字这块呢,大家主要关心的就是这个关键字它到底是在哪用,用来做什么,其实就主要关心这个事,这呢有一个关于ste一个引入的一段话。
02:22
这一段话呢?这个我就不找同学了,这个我就我呢就有感情的读一下啊,我一边读大家一边想这个事儿,我们呢也借助于这个事儿呢,咱们去写代码,说呀,到目前为止,咱们呢,在编写一个类的时候呢,主要呢,就是在里边去声明这个类的属性和方法,咱们呢也是照这个类的对象,通过这个对象呢去体会体现你这个对象的这些属性和行为,行为就是方法了。并没有产生实质上的对象,就是我们在编的时候还没有呢啊,我们你了对象的时候呢,通过你关键字呢,才会产生一个对象,这个时候呢,我们才会去给这个对象分配内存空间,涉及到你对空间,你真正的去开辟掉空间呢,来存放我们这个对象了,哎,这个时候呢,我们方法可以这个通过对象呢去调,是这样的一个方式,就是以前的方法呢,实际上咱们讲完static就说了,这呢都是叫非static一个方法,就只有得通过对象才可以去调。
03:23
我们有时候呢,希望无论是否产生的对象,或者是无论产生了多少个对象的情况下,某些特定的数据在内存当中呢,只有一份。例如所有的中国人都有一个国家的名称,每个人都有一个国家的名称,这也算是你的一个属性啊,每个中国人呢,都共享,这样这个国家名称不必在每个中国人的实力对象当中呢,单独的去分配一个代表国家名称的变量。前面这些,嗯,在这相当于你要是分段的话,就以前上上初中开始应该就开始讲这个分段是吧,这我就特别恶心那种分段,就每次分的都分不明白啊,这文章一共有十段,说分成几段啊,老师开始就考,大家想一想,然后呢,所有人都在打啊这个同学这答完以后明明确不对是吧,下一个下个答就不对,再下一个鸟枪法也总有一个人能说对是吧,总共就那么几种情况,哎,这个哈,这个同学答的是对的,因为前面都是不对的嘛,排除法排除的就剩最后一个就对了是吧?嗯,但是呢,这个事后想一想呢,有的时候还确实是这个,这个文字说了一堆,他可能要说几个事儿,有时候呢是得想一想,这里边呢,其实就说了两个事儿,前面这个事儿呢,说的就是以前咱们的一个做法吧,以前呢,咱们都是new对象,New完对象以后呢,我们才会给这个对象的分配空间,同时的话呢,你这个属性呢,这个时候才会加载到这个堆空间当中。
04:55
方法呢,这时候呢,也才可以通过对象那去调,但是后边呢,就说了另外一个事儿,我这用红色的去标识出来的,有些时候呢,我们希望呢,你这个属性不归具体的这个对象所有没有必要呢,给每个对象呢都分配一份,哎就这里提到了,如果我们造一个类,这个类呢,类名就叫做Chinese,中国人,那么中国人的话呢,都会有一个属性呢,叫这个你的国籍,或者叫这个属性叫country country呢叫中国了,那么我们如果按照原来的思路,那就意味着每造一个对象,这个对象里边呢,就会有个属性叫country。
05:35
因为以前咱们这个属性说都归具体的某一个对象所有,我这个A对象,我要把这个属性改了,是不是B对象不影响啊。原来的时候,因为人家每个对象是不是都有独立的一份属性啊对,那现在的话呢,说既然大家每个中国人的属性的country呢都一样,都是中国,那我就没有必要说给每个对象呢都分配一份空间了,有点浪费,另外的话呢,当然一般这个另外情况基本不会出现啊,但是我们只是举个例子,万一要这个CTRL名改了改的话呢,你也不用每个对象都去改。
06:11
就是我这个改完以后呢,大家自动就都改了。就是这个意思,所以说呢,我们实际上就没有必要在每一个对象里边都放这样一个变量了,这就是我们现在想描述的一个事情,那如何能够实现这样的一个目标,那就需要引入这个static,因为static修饰的一个变量就不归具体的某一个对象所有了,而是大家共享的,就是这样的一个情况。
我来说两句