00:00
诶,嗯,这个练习九的这个第三题写完以后的话呢,后边这块关于这个构造器重载这儿,呃,还有一个练习十,呃,这个练习十的话呢,我就不写了,大家下来呢可以做一下啊,呃,我们简单剖析一下,定义一个student的类啊,有四个属性啊,接着呢,我们去定义它的构造器。哎,构造器当中呢,把相应的这个属性呢,给它做一个初始化,呃,下边呢,就是进行一个调用测试这样一个情况,呃,这个比较简单一些,就是来测试一下这个构造器重载的问题啊,所以这个题呢,我就不写了,哎大家呃,一般要不太熟的话,你可以再写一写啊好,这是我们来测试这个构造器重载,然后在后边呢,咱们总结一个问题,这个问题呢,叫做属性的一个赋值过程。哎,刚才呢,我们在这个做这个练习的这个过程当中,可能有同学也感觉稍微有点疑问了哈,就是你看我通过这个方式造的对象,然后这个构造器里边呢,我们还给这个属性赋值了,对,负了18了,那这块呢,你又把这个呃,属性呢,通过赛的方法的方式又改了,那凭啥说你这块就是12而不是18呢?对,这就涉及到属性赋值的一个先后问题,诶这块呢,咱们就可以做一个总结啊,总结一下到底谁先谁后,到目前为止,确实呢,我们有好几个位置诶,都可以给属性赋值了,哎,我这儿呢,专门写个例子,咱们来体会一下啊,不妨我这就叫做user啊,关于它的一个测试就写一起了。
01:35
哎,这儿呢,我们是总结属性赋值的先后顺序,哎,首先呢,我们先来想一想属性都可以在哪些位置进行复制。属性啊,你就像比如说这块,我们先整一个class,我这来个user啊,这user里边呢,我们定义诶死string类型的name啊,In特型的A置哈,就比如说这俩吧,呃,这两个的话呢,我们比如说回头造了对象,想考虑它们的值到底是多少,我们就得看哪些位置可以复制是吧?哎,首先一上来的话呢,先我们就提过属性是不是有一个所谓的叫默认初始化值啊对啊,所以这呢,我们先写上叫默认初始化值啊,这是有一种情况的啊还有别的吗?啊对,就直接呢,比如这个A值后边我就给它写一个值,这种呢叫显示是吧?哎,我们叫显示,哎这个哎初始化。
02:46
哎,这个叫默认初始化,把这个值去了吧。哎,显示出啊还有别的位置吗?啊构造器中可以,哎构造器当中啊去做这个复值是吧?还有吗?啊就是方法,方法呢,方法你指的是咱们写那种盖set是吧,主要呢,就是set的复值的话,嗯,Set你要是呃给大家去操作,其实后边呢,是通过这个对象来调那个方法是吧?哎,那这呢,我们这样写啊。
03:18
哎,那就相当于是我们通过,哎,就是这种对象,哎对象点这个方法。哎,这是比如说就你这个赛的方法啊呃,你要是没有讲这个封装性,或者你要是没有没有必要给它封装的话呢,那就是不是也可以直接呢对象点这个属性啊,哎,通过这样的这个方式,哎也可以呢,复制还有别的吗?到目前为止,其实咱们呢,就讲过这四个,哎,到目前为止就这四个啊,那现在呢,咱们关心的是这四个赋值的一个先后顺序啊以上哎操作的先后顺序,那先后顺序是什么样子呢。
04:16
啊,默认第一个,然后呢,显示第二个啊在这啊就是这个顺序了,嗯,有不同意见不。嗯,1324,那就这俩颠倒一下对吧,嗯,行。哎,就是这样的话呢,把他俩颠倒一下,这个呢是一个三。哎,这是一个二,嗯,还有别的不。真要组合的话,那方式多了,哎,但是大家呢会呃从这个感觉上是吧,他诶应该满足某一种,哎,其实这个呢,就是你可以随便说啊,关键呢,就是看你怎么去验证是吧,哪个是正确的啊,这个就像这个,呃,咱们说这个自然科学发展的过程当中,那其实这个大量的一些规律呢,都是通过这个实验做出来的,不管是物理的啊,当然这个数学呢,稍微差一些啊,数学好多这个实验的话呢,它都是更多的像一种推演了啊,不是真正的去做那种实验了啊像物理啊,化学啊,生物啊,呃,基本上都是通过这个呃做实验来做出来的,像比较典型的就是当时大家中学学那个生物学,就关于隐性基因,显性基因叫孟德尔吧,对,做那个那个豌是豌豆啊,还是黄豆啊啥的是吧,对那个实验确实是非常经典的啊,非常经典的对,就是它其实呢,好多这个科学实验是怎么着,是你先假设。
05:55
他是什么样子的,然后呢,你就奔着那个方向去是吧,你去验证你的这个说法是对的,诶是对的,那你就可以发论文了,如果验证错了,错了再修正你的那个结论,然后诶,直到通过你这个实验验证出来你是对的啊,这样才可以是吧,那其实还有很多这个咱们这个一些提的一些这个观点,就是一些可能都已经去世了,一些科学家啊,提的这些观点呢,因为现在这个科学水平有限,没法验证啊,这个不知道他说的是正确与否啊,但是那个好多这个老爷子都已经都去世了啊,但是现在科学水平没法验证出来,我记得之前是有一个什么一个结论,天体物理学的哈,呃,后来呢,是欧洲造出来那个对撞机了,哎,才验证他说的是正确的了。
06:39
啊,就是好多这个科学还没法验证啊,只有验证了我们才认为它是对的,属于这种啊,那咱们现在呢,也可以提出这样的结论,就是到底是呃1234还是1324,那你就得先提出个观点,同时呢,你通过咱们去测试的方式验证到底哪个是对的啊,啊,你可以认为这里边任何一个目前都先是对的,然后去验证它就可以啊首先第一个呢,大家都认为呃,默认初始化是最先考虑的。
07:05
啊呃,那这个呢,也确实是先放到他这儿,咱先放到他这是吧,先放个一,然后呢,你要考虑说2:1先,那就看这个我们用不同的情况来测,看到底是谁啊,那就能验证了啊嗯,这两个呢,其实我们都可以先拿二来测,先看二是不是在一后边。哎,这个是没毛病的哈,呃,我们在这呢,写个没方法。正好呢,我们这儿有一个默认的有个显示的啊,挺好,哎,那咱们可以这样先呢,我这就先不付了,先不付的时候呢,我们,诶这个user。哎,U等于你有一个U。此时呢,我们构造器呢,用的默认的也不涉及到在构造器当中对这个属性赋值,哎,那在这种情况下呢,我们先去打印一下这个U点。啊,那很显然它是一个零,这应该不会有任何意义是吧?嗯,然后呢,当我把这个H呢,改成一的时候,改成一的时候呢,再打印对就变成一了,那只能够说明这个显示赋值是不是得在这个默认赋值的后面啊对,所以呢,它肯定是有这种关系,这个也不影响这个啊这个二呢,这不也在一后边嘛,现在关键的就是我们看这二跟三到底谁前谁后,哎,这是咱们需要验证的一个点,那这个我们怎么判断?
08:28
哎,对,写个构造器啊,我写一个user,嗯,这个构造器我这上边因为用空灿狼,我先写个它怎么写这个构导器,对我呢,是不是这给它来一个in特型的A给让我们这个A呢,拿A负写值,然后呢,我们这块就调这个构造器。我这呢,写成一个二吧。那此时呢,就说明我们,呃,构造器会给属性赋值显示呢,也赋值,那我们去执行一下U,看一下这个A值目前是多少。
09:09
嗯,首先呢,可以确定的是显示跟构造器都会执行哈,啊,就是这个赋值都会执行的,那如果我们这个结果是二。那说明构造器在后面嘛,哎,对啊,来执行。哎,果真是二。哎,那要是二,说明我们这个一肯定也负过哈,说明这个二呢是在后边把这个一给覆盖掉了,哎,那那进而的话呢,就是这个三跟二的问题呢,是不是就得这么着摆了,哎,那这个呢,暂时就不行了,是吧,那这个呢,我们那就先在它的基础上接着去考虑啊,这个也不一定对呢,那现在呢,就是能够判断呢,就是我这个一二呢在一的后面,三呢又在二的后面,四看看往哪插入了得,哎,那四我们。
10:00
这个设想的是四呢,应该是在三的后边,那我们就先在目前的这个基础之上,我们呢,其实只需要在这个位置我加上一个U一点啊,咱们这没写那个方法是吧,咱也可以给他提供一个方法。比如说我这就public。Set一下age,然后这个int的A。A值等于一个A,好,这样的话呢,我就给它负一个值啊,那我这呢,U一点塞一下A值,我这写个三。哎,通过这个方法的方式呢,我们去赋一个值,还是看这个A目前是几。啊。变成三了。啊,那就说明呢,我们要没有它呢,是二有了变三了,说明三呢把二给覆盖掉了。哎,那其实呢,也就说明这个四呢,应该在我们这个三的后面。
11:06
哎,你看这就是我们刚才这个验证的一个比较短的这样一种验证方式了哈,就是你你可能这个一开始要是呃设想错了的话呢,你验证的次数可能比我这要多一些了,哎,咱这呢,通过刚才这样的简单的几个测试呢,就能够归纳出来他们的顺序呢,是这样子的,哎1234。啊,那那再多说一下,就是在这四个操作当中哈,咱们这个对象呢,到底这个值是多少,实际上主要是不是从后往前看啊,主要取决于后边是吧?啊你这要有个默认值,那不一定是默认值,你关键看方法有没有掉过,方法没掉过,你看构造器,构造器要是没有的话,你再看这个,呃,显示初始化有没有,呃主要呢,是取决于后边。相当于前面掉的这些呢,实际上呢,是不是都是作为过程出现的呀?哎,主要呢,是看后边这一次,最后这一次是多少啊,就像大家这个谈女朋友一样是吧,你可能谈了好几个女朋友,但是这个最终的那个是不是只能是最后一个呀,前面那些呢,是不是都是作为过程出现的是吧?啊所以一说到这儿的话呢,网上有一句话说的还是你说他精辟吧,他也挺残忍,嗯,那句话叫做说你现在呢,养着别人的老婆是吧,别人的老婆呢,现在那不是你的老婆呢,现在被别人养着是吧,就是现在你谈的这些呢,不一定靠谱呢,都是作为过程出现的是吧?嗯,说的是不是很现实。
12:41
嗯,哎,不过大家现在没有对象呢,你也不用着急是吧,这个呢,嗯,这个有好多,这个这不是结婚的,都是差距比较大嘛,像那个汪峰啊,汪峰说是上大三的时候,这时候章子怡呢,才相当于上初二啊,然后这个刘恺威呢,刘恺威呢,上大二的时候呢,杨幂呢,才像才上那个小学一年级啊,然后这个吴奇隆是吧?对刘强龙那个也很夸张啊,吴奇隆呢是刚出道的,这就出道这年小虎队已经成名出道了,然后刘诗诗呢,刚一岁,所以大家呢,不用着急啊,就现在没有对象呢,可能这个丈母娘呢刚结婚是吧?啊就现在呢,就是好好学习就可以是吧?啊哎,这是咱们说的这样的一个过程啊,那这个过程当中呢,再强调一下啊。
13:42
我们这个最终的结果呢,说是得你得主要看后边这个操作了哈,也主要是前面呢,都会作为过程出现的,那这里边我们会发现呢,就是这个默认初始化,显示初始化,还有构造器,哎这呢,他们仨在一个对象的一个从初生到后边执行的过程,他们仨呢,我说呀,就只执行一次。
14:06
对吧,诶你这个对象出现了,出出生了是吧,出生其实这个构造器这块呢,我们后边可以稍微给他空一格哈,这三步呢,都是这个对象出生,出生之前这块的一系列的操作了,所以我们习惯上把这些呢都叫做初始化。哎,都习惯上叫初始化,当然要赋值也没问题啊,赋值呢就是一个泛泛的一个说法了,哎这三个操作呢,就只执行一次,而我们这个操作呢,你可以反反复复的执行,你这块呢,给它设置成三,不满意了我再改成次啊,你想掉改成五也行啊,想调几次就掉几次,哎这个操作呢,是可以反复执行的啊,这个大家注意一下这个小点就可以了啊,那么后续呢,咱们再声明一个类啊,给这个类的属性赋值的时候呢,大家都可以考虑,哎通过这样的一些方式呢去赋值,那赋完值以后呢,你别最后晕了说诶怎么结果是它,哎,那你就得考虑到底是谁先执行谁后执行,哎得有这样的一个经验啊。
我来说两句