00:02
行了,同学们,那咱们就开始上课啊,我们来看一看,呃。从今天开始吧,我们算是进入这个Java SE的进阶了,各位啊,就是这个零零基础的这一块就已经过去了,各位啊,就已经过去了,嗯,那我们来看一看。在我们这个零基础最后的时候,给大家讲了一个这个开发工具是吧?呃,叫做idea开发工具,这个开发工具呢,大家慢慢去用啊,以后我们肯定都是用工具了,对吧?哎,我们用工具的话有什么好处啊,开发效率比较高啊,代码这块我们也可以自动生成是不是,哎,也有很多这个提示对不对,哎,当一点诶就就就都就出来了啊,所以说咱们呢,要用开发工具啊,用开发工具那行了,呃,那咱们接着往下看啊,就是我们今天看一下什么内容。啊,我们今天呃,看一下这个这个这个新的一些东西啊,新的一些东西,呃,那么我昨天呢,呃,也找了几个同学聊了聊啊聊了聊,有的同学可能现在就是有点跟不太上啊,有点跟不太上,那么跟不太上的同学你先放一下啊,先放一下,先不要回顾说想着老老想的前边啊,今天我们要讲新东西了,今天的东西呢,哎,你听听不一定就是说你不会,因为这个呢,跟前面的关联啊,程度不大。
01:17
明白吧,所以说呢,你放下你手里的工作,你集中精力,哎,就像我昨天所说的那个。啊,大家应该怎么学是吧?上课呢,你记笔记应该记的是骨价啊,你不能说你都记是不是,哎,你主要是记股骨价对吧,你把骨价记下来就行了啊,股价记下来就行了啊呃,咱们集中精力去学好吧,然后课间呢,呃,你也可以跟我微信聊一聊对吧?呃,你说老师这块呃,嗯,能不能听懂啊,或者说是这块有没有什么问题啊,我根据这个情况我再去调整啊,根据这个情况再调整。好了,那这块呢,咱们来看一下啊,在这个零二加IC下面有一个document目录,然后在这个目录当中有个Java SE的一个进阶的一个讲义是吧?哎,我先把这个叫做。
02:03
呃,加YC进阶零一面向对象的PDF呢,我先放到这儿了啊放到这了,实际上这个内容还是接着我们之前这个零基础的这个内容往下走的啊,当然当前讲的这个内容啊,和我们这个呃前面的关系啊,关联程度不是那么大啊,我在这里再强调一下啊,再强调一下来我们这块呢,就直接打开了啊打开。那么是这样的各位啊,就是说我们啊,在我们这个接下来的面向对象这一块啊,还有这些内容,我们把这些内容说完之后呢,基本上我的面向对象就结束了啊就结束了,那么我们的面向对象这块是这样,还有什么呢?诶还有一个叫final关键字的东西啊,Final关键字的东西啊各位这个关键字呢,呃,咱们,哎,今天我们讲一讲啊,还有抽象类。啊抽象类,另外呢,还有一个东西叫什么呀,叫做接口啊接口,然后呢,还有什么呀,Object这个类。我们可能需要好好的把object这个类呢,好好看一看,好好学一学。
03:03
然后呢,还有这个package打包啊,和这个import啊这块其实我们就开始接触了啊,然后再往下呢,就是关于什么呀,我们的一个访问权限啊,访问权限控制啊,访问权控制。呃,那么访问权限控制其实说的就是我们public呀。公共的公开的是不是private呀,私有的对不对,哎,到时候我们会把所有的访问权限控制呢,我们再来看一看好吧,啊,再看一下啊,那行了,那这块的话,咱们先来看看这个final关键字吧。啊,Final关键字啊。来。啊,这样同学们啊,咱们那个再说一下代码啊,放到什么地方啊,笔记放到什么地方啊来。呃,这个讲义呢,是在这儿啊各位到我这个已经传到百度网盘上了,到时候你找一找啊。笔记,我还是给大家记到这儿吧。好吧,今天是第20天了啊对20,哎呀来。
04:02
叫对20的一个课堂笔记啊,对20的课堂笔记啊。来把它打开。笔记呢,在这儿还是给大家记一下啊。叫做DAY20的课堂笔记。嗯,然后呢。接下来啊,笔记在这儿放着,然后我们回来视频我还是给大家放到这儿啊。放到这儿,放这里边儿啊。到时候整理一下,然后呢,我们代码呢,在这个零二加YC下啊,我按说啊,我们应该用什么呀,用一下idea是不是啊,但是呢,我是这样考虑的各位啊,我是这样考虑的,呃,在我的这个package。啊和这个import这两个关键字在讲解之前啊,我还是用什么呀,我们之前的这个文本编辑器。等我把这个package讲完之后,我们再用什么呀?哎,我们的这个开发工具啊各位我先在这里给大家声明一下啊,就是我们现在虽然昨天我们已经讲了这个开发工具了,我给你时间啊,你去干什么呀?哎,你去熟悉一下啊,这段时间呢,我不用啊,你干什么呢?哎,你多熟悉,熟悉我呢,讲到哪呢?我讲到这个package和port这块之后,往后的内容我们就不再使用文本编辑器了,这个文本编辑器我们就从这个地方给它切断。
05:25
啊,这个内容之前我们都使用文本编辑器的方式进行开发。好吧,哎,文本编辑器的方式进行开发,各位啊,在这里我先声明一下啊,声明一下这段时间正好,哎自己熟悉一下啊,熟悉一下,当然我们来个问题,我在这个地方使用文本编辑器,那你下去之后,你在练习的时候,对吧,你能不能使用这个,呃,开发工具啊。啊可以用各位啊,可以用,你是可以用的啊,我呢在这儿使用是文本编辑器的方式啊来代码呢,给它放到哪呢?来Java project02加YSE啊然后这块呢,有一个什么呀,哎叫做CHAPTER14是吧?哎,我来个CHAPTER15啊第55章。
06:06
啊,实际上那个加Y下有15张是吧,有15张。嗯,我看看啊。行,就放这吧。放这儿了啊各位。嗯,放到这儿了,放SC下边了啊,我在这直接写代码的,各位看好了啊。来,我们来看今天的第一个内容啊,第一个内容我们叫day。20的第一个内容啊,就是关于final什么呀,哎,关键字啊,Final关键字,这是一个关键字啊,我们一起来看看这个关键字它是干什么用的,来点右键啊,我们在这了。就直接在src下啊,新建一个文件。这个文件呢,我们就叫做final test01。啊,那么这个是干什么的呢?其实这个很简单啊,不难,我们一起看一下。
07:03
来。注释呢,我先标出来啊,Final。哎,我还是呢,把这个需要掌握的这个重点以及结论啊,我还是给大家记到这个。代码的这个最上面行吧,来在这儿啊final,那么final啊是Java语言中的一个关键字,哎,这是第一点啊第二点,那final呢,表示什么呢?啊表示啊。最终的啊,不可变的,就这个意思。它表示最终的不可变的啊,那final可以修饰什么呢?哎,可以修饰这个变量以及什么呀,哎,方法。啊啊,还有类等啊,就final可以修饰的东西很多。啊,Final可以修饰变量以及方法,还有类等。
08:02
啊,它是一个关键字,关键字我说过都是全部小写,是不是final啊,Finalal它表示最终的不可变的。可以修饰变量方法各类。那么这块呢,我们一起来看看啊,就final。修饰的变量怎么样?对吧,哎,Final修饰的方法怎么样,对吧?哎,Final修饰的类怎么样。那你比如说我们现在简单在这在这在这在这测试一下啊,你比如说我现在在这来一个class a啊完事之后呢,怎么着呢,我在这来一个class b。B的去继承A哈,你看。继承A。嗯。子类呢,去继承父类是不是,哎,那这个程序我觉得很很正常,是不是来我们把这块呢,CMD敲一下,然后呢,Java c呢,我们去编译这个final test。
09:02
零一.java啊走你看。编译很正常,程序生成了a.class和b.class对不对,哎很正常,那么这块呢,咱们来看一下啊,有没有可能有这种需求,各位你好好想想,就是说你你可能有一天啊,有一天怎么着啊,你想。你想说我这个A类啊,不允许任何人继承。就有没有,有没有可能有这种需求。就是说你不是子类继承我吗?你继承我之后,是不是就可以对等于是对我这个类进行了扩展呀,你写了一个子类呀,你子类继承A类,你就就相当于是一种对A类的一种扩展吗。是不是,哎,你想想。就是个B类啊,他去继承什么呀,这个A类。对不对,相当于什么呢?相当于对什么呀,对A类的功能进行什么,哎扩展。如果你不希望什么呀,不希望别人。
10:01
对A类型进行扩展。你可以给A类加一个final。啊,你可以怎么着给什么呀,这个A类加一个什么呢?加final关键字。这样的话。A类就无法什么呀,哎,继承了啊,无法继承了,所以这块呢,我只是给大家写个注释啊,我以后呢,重点都是放在上面的,所以你将来看的时候就不不用看注释了,不用看注释了,你就直接看上面这个啊,看上面这就可以了,各位啊,我再强调一下。那这块呢,我们可以加一个final,加上final之后呢,接下来我们。哎。绝绝,好吧好吧,你看怎么怎么去想啊,怎么去想好子类呢,不能再去继承A了,你看来我们编译一下,你看走你看。哎呀,无法从最终A进行继承。
11:04
对吧,这样的话第十五行就编译报错了。那第十五行变异报错了。是不是哎,无法从最终A进行继承,没法继承,你继承不了编译包括。啊。来。那么我们其实可以研究一下,我们这个叫做这个Java这一块啊,呃,Sun提供的这个源源码当中,我们找找谁呢?找找这个program file啊,就这个,就这个目录打开之后呢,我们打开这个Java啊,打开这个叫做JDK啊,13啊13我们这个八就不用看了啊,八这块的话,咱们只是临时安装一下,为什么呀,因为我们可能要当时是什么呀,没有高版本的这个叫eclips嘛,是不是啊,当然当时又想说一说这个eclipse,所以这块的话。嗯,就当它不存在就行了啊,还是这个13把这个打开之后呢,Library下面有src,这是源代码,Java base下有Java long。
12:02
然后呢,咱们找找顿啊顿大家都熟悉是什么呀,是字符串是不是,哎字符串,我们把盾打开,我们来看看啊,S公司提供的这个死顿字符串这个类你看。因为它的使用啊,太广泛了,因为我们天天都在用,大家有没有看见它这个类前面有个final啊。是不是这个类前面有个final关键字的意思,就表示这个这个累啊,没法被继承。他特别重视这个类,他不允许任何一个类你继承我这个死盾,不允许你对我的string类当中的方法进行重写覆盖。他就这意思,所以这块呢,你如果尝试着在你程序里边,你写个什么呢?来我先把这段上面注释掉啊。说class啊,我说MY顿啊,写一个MY顿去继承谁啊,叫extend继承顿,哎,我们来看看这个程序能不能编译报错。来,走,你看。说什么呀,说无法从最终死顺进行继承,你看死准这个类没法继承。
13:02
就是没有子类的,是没有孩子的,就这意思。啊,死顺是没有孩子的,就这意思。你比如说这个这个这个FINAL1修饰A,就意味着A没有孩子。啊A,没有没有没有,没有子孙吧,啊,没有子孙就这意思。啊,A没有自存,A被final修饰,那我问大家一个问题啊,这里这里其实大家最主要的疑问就是说老师我以后到底啥时候前面加final。什么时候不加,你不要学这个,你要学这个你就又懵了,你学不会。你现在你只要记住语法就行,什么语法final表示最终的修饰的类没有办法被继承。至于说以后这个类前面到底加不加final,你现在还没有。没有合适的。你还没有接触过项目,所以你呀,应该是不会的,不会就放弃掉,放弃掉啊,你知道final表示最终的最后的这个A这个类是最后的,最终的A下边就没有子孙了。
14:11
如果以后你你干什么呀,不想让你任何一个类去继承它的话。那么你在前面加final就行了,就这么简单啊,这个语法我就说完了,各位啊,就说完了来final修饰的类怎么着,我在这写上啊,Final修饰的类无法继承。嗯,拖拉是不是很简单对吧,很简单,至于说我以后到底在这个类前面加不加final,那到时候再说,以后做项目再看,对吧,适适当的场景去学习适当的知识点啊,现在你只要知道final修饰类没有办法继承就可以。
我来说两句