00:00
好,这呢是咱们今天考的这五道问题,来我们看一看这几道题,首先第一道,诶第一道呢,关于这个study关键字啊,咱们前一天的话呢,主要讲了这样几个事儿啊,先简单的说一句,就是首先呢叫tetic关键字,呃,这个关键字的话呢,还是比较重要的,呃,这个大家在开发中的时候呢,是需要灵活去使用它,一方面呢,我们自己开发中会用,另外一方面呢,我们看一些源码或者看别人写的代码的时候呢,这个用到static了,你得知道它怎么用啊,这块呢得清楚。第二呢,关于这个may方法的一个语法的理解,这个呢作为一个了解就可以了,呃,因为呢,咱们一开始都在用这个may方法,这个呢咱们就再熟悉一下就可以了,因为呢,到目前为止,关于may当中的每一个关键字,或者呢是每一个单词,每一个结构,我们呢,才能够去理解它是什么意思了啊,因为tetic呢是咱们现在才讲的,接下来的话呢,用到一个叫代码块,代码块的话呢,是我们类的成员之四,从重要性上来讲的话呢,相较于前面的三。
01:00
成格属性方法构造器,这个重要性呢,就差多了,代码块呢,在咱们开发当中呢,大家用的频率呢也不高,但是大家呢,你知道它怎么用就可以了,这块呢要求啊就低一些了,后边一个呢是final final的话呢,我们要是自己用,基本上final都是用来这个修饰属性的,表明呢,这个属性呢就变成了一个常量了,这时候呢,它来修饰一个类,修饰一个,还能修饰什么方法,对吧?诶修饰类修饰方法呢,咱们自己写的时候呢,写的少,但是呢,我们看到一个类或者一个方法加上final了,你知道什么意思就可以了,所以呢,我们把这个内容呢,就是先学厚,然后再变薄就行啊,看下我们这几道问题,第一道static呢,这个是比较重要的,说呢使用static去修饰属性,相较于实例变量有哪些特别之处?以前咱们说这个修饰属性,呃,修饰方法啊等等,咱们都没有用斯staic克,那现在用了,哎,得明确知。
02:00
到加跟不加有什么区别,这样的话呢,你才知道以后我们自己去设计一个类的时候,到底该不该该不该把这个结构呢,生明成一个static,那首先static的话呢,有什么特别啊。这一上来static第一反应,大家能反应到的呢,就是它应该是叫随着类的加载而加载。这句话呢,紧接着一说,那咱们这个类的话呢,在整个使用过程当中呢,其实呢,呃,正常来讲就加载这一次,然后呢,它会缓存起来,供很长一段时间呢,我们可以去用啊是这样个情况,那就意味着呢,我们这个类加载呢,可以目前呢,大家理解为就我们就加载这一次了,那就意味着咱们sta这个声明的属性或者方法,乃至于说呢,Static的代码框是不是就会加载这一次了,对,因为类你加载一次,所以它呢就也加载一次了,行,这是一个,那既然呢,人家是随着类的加载而加载的,那么它跟对象之间是一种什么样的关系啊,首先呢,就是说这个代这个加载这个结构或者叫属性了,它是不是要早于对象的创建啊,嗯,对,这个呢叫早于对象的一个创建,那找一对应创建,那么我们能不能用对象去调这个属性啊,只要你这个权限允许是吧,只要权限允许。
03:25
局就是我们这里所谓的就是权限修饰符了,那我们可以通过这个对象点属性的方式来进行调用。对象,哎,对象第二属性啊,只不过这个属性呢,就是咱们说的叫static的属性了。属性的方式进行调用,行,然后呢,后边呢,再说的其实就有点像方法了,就是咱们static修饰的方法当中呢,可以去这个调用这个静态的属性,但是呢,不能调用这个非静态的属性,哎等等等等这样的一系列展开,包括呢,要再加一个呢,就是sta这个呢,我们修饰的这个属性的话呢,它存在哪对,因为呢,我们这个带这个修饰的属性呢,它是早于对象的创建的,你对象的话呢,是后边才有的,然后呢,相应的你非静态的那些属性是放在堆里的,那现在我比你早,所以你肯定跟对象呢,不能放在人家对象的那个对空间里了,那这块呢,我们说它呢,是存在于我们这个方法区的,诶,静态域当中的这个静态域,其实指的就是专门给他准备的静态,体现的就是在这个域域就是那个field属性的意思。
04:40
那静态玉指的就存放我们类当中,生命为static这样的属性,行,差不多呢,也就这些了,那大家下来的话呢,这个需要还是要熟悉的啊,还是要熟悉的,就是以前呢,咱们定义属性也好,定义方法也好,嗯,没有提sta这个这个事儿,所以呢,你就根本不用想这个事儿,那后边的话呢,我们再去定义这个结构的候呢,你就要想了,要不要static,哎,这个呢,随着大家不断的去写代码,这个经验呢越来越多,包括呢,咱们一开始讲方法的时候呢,大家写一个方法,感觉这个权限修售书啊,这个这个反文制类型啊,方法名啊,写在列表啊,这块花了好多的精力啊,当你真正的这个代码写的越来越多的时候,你发现这块呢,其实你花的精力其实就比较少了,重心呢还是去写这个方法体,因为前面这块呢,都比较熟了,就是这样啊,那这个也是一样,大家慢慢的熟悉以后,哎,用起来的话呢,其实也没有想象那么困难了,就下一个说final可以用来修饰哪些结构,分别表示什么意思,直接找个同学来说吧。
05:40
嗯,陈州你说说。哦哦没在哦,嗯,那张一婷呢,嗯,你说说,如果饰以类的话,就是类被继承,嗯,修饰类不能被继承,如果修饰方法的话,方法对,所以是方法,方法不能被重写或者被覆盖啊,性的话,那么这个属性的一个常量,嗯,翻译到修饰个属性,这个属性呢,就是个常量,属性呢,只属于变量中的一种,那么还能不能修饰那边。
06:33
叫求变量。你记不记得咱们做那个课后练习题,我用final修容那个擎参可以吗?哎,可以的啊,就是final的话呢,就别光说它能修饰属性了,它就是直接能能能来修饰这个变量,因为属性呢,只属于变量中的一种嘛,还有一部分呢,就是那个行参,呃,那个这个局部变量,局部变量也可以也能修饰,就是只要呢它修饰这个变量,你知道它就变不了了,这叫常量,关键呢,就是关于final修饰属性这块呢,大家需要记住的就是我在哪些位置可以给它去复制啊,你再说一说。
07:21
对,就是其实跟这个第五个有点关系了,就是我们现在有一个属性,这个属性呢,我生命成final了,意味着就是它是常量,常量呢,那你首先得有一个值,然后呢说它不能变,那现在这个值我在哪些位置可以给它去附默认,默认初始化就不行了吧,对,最起码得是显示初始化,嗯,或者呢,勾到七种对码,代码块呢,是不是静态的不一定了,那就看你这个final修饰这个变量或者叫常量了,你是不是加static了,你要加static呢,通常就是静态代码块,你要没加呢,那就你再静态代码块也掉不了,对吧?诶就直接说代码块的就可以了,行,这个呢,就是关于final,其实这个final关键字的话呢,嗯,还不是那种特别难理解的那种,嗯,还不是那种特别难理解的。
08:21
就是比较清晰,就跟他这个意思一样,最终的了,通过这个角度呢,大家去体会一下我们可以修饰的这几个结构的特点,行,这呢就不多说了,没问题,然后第三题和第四题这个我看了看大家写的这个情况,有的呢,就是写着写着,然后又勾勾画画的,然后里边又打个这个对勾,里边又添一点代码,就是说明还不是特别的熟,诶就是这两个单类模式的鄂汉式,懒汉式,这两个呢,大家一定不能有任何问题,就是拿起来就能写,必须呢得这样。啊,必须得这样,就是一方面呢,是我们开发中用啊,另外一方面的话呢,这个它也属于这个设计模式当中的一种,而且这种呢,他还不是特别难的那种,所以在这个笔试的时候呢,经常他会问一问说诶懂不懂设计模式,什么叫设计模式干什么的?那么你懂哪几种设计模式,那首当其冲呢,大家一般都会先提交单利模式,或者说呢,干脆呢就简单粗暴一些,笔试的时候直接就让你写写单利模式就成这种了,就是咱们在整个开发过程当中呢,后续咱们还会接触其他的设计模式,还会接触其他的,包括今天呢,我们还会讲关于抽象里边呢,叫模板方法的设计模式,在接口这块的话呢,带着大家再来看一看,叫代理模式,以及呢,叫这个工厂方法,还有这个抽样工厂这样设计模式,就是这个今天讲的这个设计模式的话呢,对大家要求呢,就稍微低一些了,就是只是呢,你把它看作是咱们讲抽象讲接口的一个应用,看看这个抽象和接口怎么用的就可以了,先不用去理解它内部的一些为什么。
09:54
他这这样设计的一个思想啊,那对于至于说这个单利的话呢,需要大家懂这种思想,就是为了在整个软件系统当中,我们就创建一个实例,怎么做要会啊,那目前的话呢,咱们这个懒汉市呢,还是一个县城不安全的,这个咱们目前还是线程不安全的,这个后边呢,咱们讲了多线程以后,那需要呢,把这个懒汉市的线程不安全呢,给它改成个安全的,到时候呢,我们再具体的再来说,那么这个饿汉式的话呢,是没有这个问题的,它是一个制安全的,一上来呢就把它造好了,诶就这样个情况,行,这两个呢,我就不带这去多写了,大家呢,就是没写熟的呢,一定要会写,一定要会写,那下一个类的属性赋值的位置都有哪些,这个呢,大家应该也得会了,就是从我们讲完这个代码块以后,这个属性赋值的位置呢,就终结了没有了,那么以后呢,大家涉及到。
10:54
属性,那这个属性呢,到底该在哪块去赋值,以及呢,你这个属性在调的时候发现,诶这个值怎么是它呢?你得知道是在哪些原因位置负,呃,哪些位置赋过值,才导致了现在这个值是这个得清楚,这个还是找一个同学来说一下,你直接呢,就按照这个顺序来说就可以了。
11:16
嗯,戴子阳坐着说就行,没事啊,嗯,大点页第,嗯,对默认初始化,然后显示初始化,对显示初始化呢,和我们在这个代码块中初始化,它是一个并列关系,就看谁先写谁后写了,嗯,接着构造器中初始化,嗯,然后诶对好没有问题,通过呢,对象点属性,这个你要允许的话呢,它就权限够,你就这样调啊,权限不够的话呢,通常呢,我们再会通过这个方法,那个对象点这个方法的方式,诶。
12:16
进行一个赋值行,这呢就咱们整个讲的关于属性赋值的这样的一些位置,哎,大家的话呢,这个下来还是要熟悉一下的,这个后边呢,我们定义类这种属性了,你看你到底想在哪块去给大家赋个值,哎,这个呢你得清楚,OK,这呢就我们今天考的这五道问题行。
我来说两句