00:01
呃,行了,同学们,咱们开始上课了啊,首先呢,我们,呃,我们这样,我们呢,简单的回顾一下我们这个,呃,这上节课吧,啊,上节课咱们讲的一个内容啊,那么上节课的内容是什么呢?啊,我就不再全部都回顾了,各位啊,我就不再全部都回顾,说全部的系统性的回顾一下,这个也不太现实啊,你下来之后呢,要记得回顾啊,要记得回顾,呃,就是还是之前我所说的那种情况。啊,嗯,你可以怎么着呢,可以这个。哎,呃,每三天,呃,这个每每天啊,回顾最近三天的东西,每五天你看怎么回顾对吧,每十天你怎么回顾,呃每这个一个月或者每20天你怎么回顾,每一个月你怎么回顾是不是啊,这个你自己呢,制定好这个计划啊,另外呢,不断的去调整自己的学习方法。呃,你不要傻学啊,我当然是带双引号的啊,这个傻学是什么呢?就是说。你可能一直就是从来到动力节点,到现在为止,咱们也经历了将近今天几号24号,今天二十二十个自然日了,这20个自然日你有没有尝试着去改变自己呢?如果说你。
01:09
哎,你每天呢,都在都在想一个办法,我我应该怎么提升我的编码能力,或者说应该怎么调整我的学习方法,我觉得这个东西呢,呃,应该差不多,现在啊,24号了,应该差不多,这个也应该能够调整出适合自己的一种学习方法。行,那这个呢,下去之后呢,大家一定要这个啊,一定要注意啊,你不要说天天,就是说我来到第一天的,第一天来到东点节点的时候是这样学的,我到现在我一直也没改变,我一直还是这样学,你有没有发现你的学习方法不太对呢,是不是,哎,有没有需要去了去调整一下的。好了,那么咱们把这个上节课的课堂笔记打开啊。首先呢,我们上节课最主要讲解的是什么呢?是这个一个this关键字啊,还有一个是Java语言当中的一个继承机制,那么this这块呢,我们从内存图上来看的话啊,我这里还画了一个图是不是?哎,这个图呢,可以很清晰的看到this它是个什么东西。
02:10
This呢,它存储在我们堆内存当中的对象的内部。啊,这个对象内部啊,对象内部你可以这样去理解啊,这个this这么一个关键字,保存了一个内存地址指向了自身,啊保存内存地址指向自身,这就是this,那么this用在什么地方呢?大家注意了,This不能使用在静态方法当中。那么为什么不能使用在静态方法当中啊,因为静态方法呀,它呢调用是采采用什么呀,类名的方式去调用。那么this呢,代表当前对象,需要当前对象,而你静态方法执行过程当中啊,是没有当前对象的。啊,所以说呢,This不能使用在静态方法当中,也不能直接使用在方法当中啊,不知道大家有没有印象啊。呃,那么this呢,它除了可以使用在实例方法当中之外啊,还可以使用在什么呀?构造方法里面是不是?哎,它的语法其实就是两种,一个是什么呢?This点的一种方式,还有这次括号的一种方式,那么这次点呢,其实这个呢是呃,大部分情况都是可以省掉的,对不对?哎,只有什么情况下不能省略呀。
03:17
大家还记不记得,我们调这个发不出。什么发不出?哦,可以发了是吧,好那么再往下啊,咱们再往下,那么这块的话,刚才说到哪,说到this关键字这个this这个东西呢,其实你把它当做一个引用就行了。表示当前对象呗,对吧,指向了当前对象,引用保存内存地址指向当前对象嘛,这就是一个哎,This this点可以省略,什么时候不能省呢?你比如说我们写赛的方法还记得吧。哎,Set name对不对?你这个为了参数的可读性强一些,所以你会把这个变量也定义成name是不是?哎,所以this.name哎,Name,那么这个this点就不能省略了,因为你这个this点后面的这个name是实例变量。
04:09
是属性,你这个name实际上是谁,是这个局部变量啊,局部变量好,那么这个呢,是我们的一个啊这个。所谓的什么呢?所谓的这个this点什么时候怎么着啊,哎,它不能省略啊,不能省略。那么再往下的话,我们就是一个this括弧了,This括号呢,这个语法呢,只能出现在构造方法的第一行啊,就是这个事儿呢,你要记得,另外我们通过这次括号的这种语法是干什么,是通过一个构造方法去调用本类当中的其他的构造方法,目的实际上是代码复用啊,代码重复使用,就是你现在有一个构造方法,这个构造方法呀,它这个里边的代码呀。哎,你不是要写吗?是不是,然后呢,这里呢,还有一个哎构造方法,这个构造方法呢,哎里边的代码怎么着呢。
05:03
它可能是有参数的,对不对,里边代码呢,可能和上面的代码差不多。啊,只不过有,只不过这个值是可能是动态的,那上面这个值可能是写死的,那这个时候你可以通过Z括号的这种方式,对吧,传一个比如张三,那么这样的话就表示通过这个构造方法去调用另外的一个构造方法,这样的话,你这个代码里面假如说有100行代码,那这个代码我们就不用写了啊,这个代码不用写了。啊,为什么呢?因为你直接this括号调用就可以了啊,代码呢,得到的重复使用啊,重复使用好,那这个呢,就是关于我们this这块的一个内容,大家下去之后呢,一定要把这个this给搞定啊搞定。好,那再往下的话,我们就是关于继承这一块了,那么继承这块呢,就是什么是继承啊啊你要知道我们现实生活当中啊,比如老的对吧,有钱儿子呢,肯定不用努力就很有钱,在现实生活当中我们有这样的一个机制,那么我们在程序当中也应该有这样的机制,因为面向对象嘛,对不对,Java也号称是完全的面向对象,那现实世界怎样,我们Java程序当中就是应该是怎样的。
06:03
那么继承有什么作用呢?我在这里提出了两个作用,一个是重要的作用,一个是基本作用,基本作用是为了什么呢?就是我们写了一个类之后啊,我们发现另外一个类和我们。哎,之前写的那个类啊,有很多重复的代码出现,从代码级别上呢,我们发现呢,哎,有重复代码,那完全可以什么呀,写一个父类对不对?哎,再写一个子类,这个子类干什么呀?继承这个复类,把父类当中的东西全部继承过来,这样的话,我子类里边就不用写这个代码了,代码就可以得到复用了,是不是啊,那主要作用是因为有了继承才有了方法的覆盖和多肽机制,各位啊,今天咱们讲完继承之后啊,再往下呢,就是关于方法的覆盖和多肽啊,方法覆盖和多肽。好,咱们继续再往下啊,呃,那么。咱们继承这块相关的一些特性呢,我不知道大家下一周有没有背啊,这个123456啊,这个这这六条呢,是需要大家背一下的,要背一下的,首先呢,第一条是什么呢?是说我们B类啊,去继承A类的时候,我们有一些特殊的称呼。
07:01
什么称呼呢?我们称A类是什么类?还记得吗?叫做负类,对不对?哎,然后称B类叫什么呀?叫子类,是不是子类去继承什么呀,父类。是不是,然后呢,我们还有负类呢,有别的叫法,比如说我们叫做什么呀,超类。是不是超super class?啊super class,另外还有叫鸡肋对不对,所以呢,嗯,我为什么要说这么多概念呢,各位啊,原因是什么?原因是咱们将来在看一些书籍的时候,这些书籍呀,他有可能怎么着呢,他有可能采用这个名字,也有可能采用这个,也有可能采用这个。它不同的资料可能啊会出现不同的名词,所以在这里跟大家多聊几个术语。呃,那么以后我们沟通最主要是说什么呢?反正我呢,跟我之前的这个开发过程当中啊,我们在聊天时候一般说父子类啊,就是父类和子类啊,但如果说你愿意说鸡类啊,或者是超类的话,这个也没人管你是不是,哎,好像高端大气上档次的样子一样,是不是啊super class啊super class,那么这个B类是子类,又要又叫什么派生类,派生出来的啊,派生出来的扩展类啊,那这个子类呢叫class。
08:17
啊,这个叫啊superstar是不是super是超级的意思啊超,那么至于这个术语这块呢,其实了解一下就可以了,什么负类呀,什么子类呀,什么鸡类呀,什么超类呀,什么派生啊扩展呢,Super sub是不是,那么第二个呢,就是Java语言当中也要知要知道咱们支持的是单继承,那么单继承的意思是什么呢?单继承就是说我们一个类啊,只能显示的去继承另外一个类,不能同时继承两个类。啊,不能同时继承两个类,这种语法是错误的,那你要知道。那你B呢,去继承A完事之后呢,逗号又来一个C是不是,那这样的话我们呢,就会出错了,加完中不允许,但你可以这样做,比如说呢,你写一个C类,让A类去继承C行不行,然后再让B去继承A行不行,那这样的话是不是就B就继承了,继承谁呀,继承了我们这个C当中的一个特征嘛,是不是哎,C当中一个特征啊。
09:22
那么要知道Java中继只支持单继,不支持继啊,C支持多继对吧?这是Java体现简单性的一点,换句话说,Java中不允许这样写代码的啊,这样是不允许的。第三点是Java中啊不支持多继承,但有的时候会产生间接继承的效果,效果啊,例如呢class c呢去继承BB呢去继承A,就相当于C呢直接继承B,但C间接去继承A。啊C间接继承A啊是这样的。那第四条呢,是什么呢?是子类继承父类,除了构造方法不能继承之外,剩下的都可以继承,各位啊,我再强调一下啊,除构造方法之外,其他的都能够继承过来,就是构造方法继承不了,你这个没办法,你只能死记硬背,各位啊,构造方法是不能继承的。
10:11
除了构造方法之外,所有的都可以继承啊,然后第五条是什么呢?Java中的类没有显示的继承任何类,它默认会去继承S公司提供的那个叫这个类。啊,Object这个类各位啊。那么object类呢,是我们所有类的一个超类,是一个老祖宗类啊,这个类呢,是我们所有类型的一个根啊各位。那同学老师。这个没有注意啊,Object类它是一个是一个族谱当中的一个。就整个。以以这个宇宙为单位吧,以这个宇宙为单位啊,以或者是以这个地球为单位,是不是object就是一个根。对吧,这个根呢,可以衍生出很多,可以衍生出人类啊,可以衍生出衍生出这个动物啊,是不是可以衍生出这个猫啊,是不是狗啊什么之类的,哎。
11:04
我们都在这个叫。族谱上啊,Object是一个根啊,是一个根,各位它呢就没有负类型了,这是根好了,那么要知道这个object类型啊,然后呢,再往下呢,就是继承啊,要这个知道有一些缺点的存在啊,子类继承父类之后啊,它可能会耦合度比较高一些。耦合度比较高,什么意思,就相当于说呀,我现在假如说我B类呢,去我这个C类呢,去继承你的B类了。那如果说你B要发生改变的话,我的C啊,肯定也会怎么着啊,哎,受到影响啊。C呢,肯定会受到影响,C去继承BB这一块呢,哎,只要发生改变,C呢肯定会受到影响的啊,受到影响。这个耦合度比较高一些是吧,好了,这样的话,这是继承相关的,继承相关的一些特性,各位啊,相关的特性这六条,希望下去之后呢,大家多注意看啊,多注意看多去,呃,这个去理解啊去理解好吧。
12:07
行了,那我们简单就回顾这么多吧。这个我就先关掉了啊。
我来说两句