00:00
那么在开里面这个属性有几个注意事事事项需要同学们了解。第一个属性的定义的基本语法,如同变量。啊,其实他就是个变量。啊指这个变量呢,呃,是放在我们的对象里面的哦,放在那里面的前面也可以有访问修饰符。注意呃,定义变量定义这个这个属性的时候,访问修饰物你不写默认其实是有的,这点请大家注意一下,只是他会提供呃两个公开的方法,让他感觉好像是公有的,那么VR属性里,注意后面这个类型可以省略。啊可以省略,比如说我在这,你看我给这个name组,我就没有写时寸,我这样写也可以。但是我也可以用类型去找。对吧?呃,可以用类型对导,好,这是第一点,我就不说了,第二点属性的定义的类型可以任意包括值类型或引用类型,刚才已经讲过了。啊,第三个SC中生命一个属性必须显示的初始化,即必须给初始值。
01:05
然后根据初始化数据的类型自动推断类型,啊属性类型可以省略,这个刚才说的就是类型省略过后自行推断。Java不行,Java必须指定类型。第四一个,如果赋值为空,则一定要加类型,如果不加类型,那么这个属性类型就是nul,运行就会报错,我举个例子啊,同学们看代码。呃,我把第四个给他专门的,呃讲一下。好来,我这里讲的是关于属性的使用,我取个名字property。Property的一个,呃,DEMO,好,同学们,我们来举这个小案例,主函数把这个因为时间关系我就直接拿过来用了,诶,怎么又是这个东西咋回事这个。不应该啊。哎呀,这个地方怎么搞成这个样子了。
02:00
好,踢出去吧。好,给他拿过来啊,同学们。好,VR。好,我们把这个呢给大家扔过来,这是一个注释啊name name是一个null,好,它拿到这来。好好,然后地址,地址呢,也是一个空,也把它拿过来啊,同学们看一下。好,我们把它去掉,我们把它去掉,我们来看一下这个地方的说明吧,同学们看,Age,我直接给了一个十,Salary直接给了一个double。那么如果我给一个内蒙。直接给个弄,我告诉大家这个呢,有时候在面试里面,他会问这样对不对,告诉大家啊,这个是这样用的过后呢,这个。Name你用的时候它就会报错。而你这样用是可以的,这样是写是可以的,为什么呢?因为你给一个空的时候,你指定类型了,那我们来看看它是怎么用的啊,P1P1等于六一个person啊,我一点点说啊不着急,你看啊同学们看P一点,你看这边全部都看出来了。
03:14
而最死就是一个至尊age。就是他大家看salary double,那么你们可以看到内蒙真的变成一个空了,就nu。因为你这一方给的就是空,它就变成空了,但是你这指定类型过这个地址呢,仍然是中串,那就说老师这个空有什么后果呢,后果是这样子的啊,如果我们这样直接去用它就会报错误p.M。对吧,你看这个地方我们点name啊,P点大写的name,这个时候呢,我们运行我们看会有什么样的效果。好,我们可以看到。在。这个地方没没报错是吧。不干。NULL。Null,我看看这个是啊,这不加类型该属性就是哦,我这倒也没报错,我也没说要报错啊。
04:07
啊,那它那它就变成这个了,那它就变成这个ul啊,我这可能是想到其其他一个案例了,就是这个,你如果给了一个空,它就是这个类型啊,啊,那么如果你这样给我,我对我可能是要讲这个,如果你给了一个空,这就是空,但是如果你给的是把一个空给了一个指定数据类型的属性,那么它仍然是字符串,那么看这两个的区别。Friend。好,p.dress你看这个时是个字符串。啊是个字串,所以它这个地方呢,它仍然是一个字串类型啊,就是这个地方大家注意一下。好,接着呢,我们再来看呃,属性的第五一个需要同学们知道的,大家看这里,如果在定义属性时,在定义属性时暂时不复制,也可以使用下划线,让系统默认分配类型。
05:04
默认分配,比如说。我们这里面有bit short,那我不想,暂时不想给它值怎么办呢?用下划线,这个时候默认就为零,如果是float double,默认是0.0,如果是string或者其他引用类型,默认为空,如果是不值,默认为bos,什么意思呢?举个例子。举个例子,比方说我这里有一个类叫A类。A类,好,现在呢,我有这么几个变量,比如说VR1这个变量,这个变量,那么如果我这有个字符串,我暂时不该复制,我就这样写。啊,这样写,那其他依此类推。好,我还有一个变量,VR2,这个类型是什么呢?假如是一个bit类型,好,我也给它一个这个东西好,VR3,假设它是float类型或者是double类型都可以,Double类型我也给他一个下划线,还有一个是什么呢?比如说是一个布尔类型,VR4。
06:08
它是什么类型呢?是个布尔类型,小心一点啊,这个地方大家注意一下,那么也来小火点,我告诉大家啊。当我们输出的时候,这个地方它是这个它是零,它是0.0,它是false。好,呃,其他的大家可以再对照这个图来看啊,如果是呃,这地方对了,这个地方我应该写的,我我再证明一下啊,这个是空还是这个空,我再我再证明一下。这地方跟我跟我这说的好像不太一样,我说是这个空,我再我再确认一下啊,等一下我我记得应该是这个空串,我们来证明一下,不着急。我证明一下来,我创建一个A。A等于六一个A好,我们直接输出A点它的这一个第一个好,我们看这个地方到底输入什么。
07:06
是这个呢,还是还是这个啊,我再确认一下。我再确认一下,执行一下。好,我们执行一下哦,的确是这个啊,那就是呃,不是这个是是是这个空啊,是这个空。好,没问题,没问题,好,其他肯定是一样的,我把这个BAT也数出来看一下。啊,证明一下这个事情就过了啊,A点这个这个呢应该是零,好,那么再输出一个点Y4,这个Y4呢是。布尔类型它应该输出的是for,好,同学们我们预习一下就可以了,跑起来哎,空0FALSE,空0FALSE正确啊好的,那么关于我们的第五一个同学们呢,啊,有一个印象就OK了,最后一个不同的对象属性独立,互不影响。
08:00
这个在Java里面是一样的,这一点跟Java完全一样,我就不说了,这一点,这一点和Java完全一样。完全一样,也就是说你两个对象呢,它的属性是独立的,我有两个不同对象,它属性独立,比如说简单举个例子,假如我这里有有一个A,好,我这里改变这个词了,A点内蒙啊,比如说我A点。啊,我我新建一个吧,干脆就不要写在一起了,比如说我这有一个对象是什么呢?叫做worker,注意听啊,我就讲一个,然后这里面有我就写一个name。他用推导是个空串,好现在呢,我建创建两个,两个创建创建两个对象啊好VR呃,那么WORKER1等于六一个worker好,紧接着呢,我在创建第二个。好,那么他们两个属性呢,是互相不打架的,比如说我worker.name给他赋一个值,叫Jack。
09:03
好,Jackie,那么给它附一个值对吧,worker2.name,它是汤姆,好同学们,这两个呢,在它的内存里面是两个完全独立的啊,互相独立的两个空间,这点呢,请同学们注意一下就可以了,好,这是这说的。好,呃,属性这一部分基本的地方就讲完了。但是有一个问题又摆在我们面前了,属性这里面呢,要涉及到一些高级的地方。要涉及到什么呢?比如说我们属性的重写。等等这些问题,那么这个属性的高级部分跟我们的构造器就是构造器就是同学们以前学Java的时候,老师讲的构造方法或者叫构造函数相关,那么属性的高级部分呢?我们在这个构造器的部分还要讲,这里就把这个属性的基本部分给大家说完了,好的,老师我我把这个呃类。
10:05
属性和成员的系,这个注意事项给大家过过了一遍。好,我把它给大家板书一小项,标题三来吧。好,一共呢,给大家讲了这么几个细节啊,好的注意事项。好注意事项。这我们整了这么一些需要同学们注意的。第一个。好,第二个。好,第三一个。好,第四一个,然后呢,我这里有案例,我把这个案例给同学们拿过来看一下,第一个这个不说了,特别简单。啊,这个也很简单。呃,必须初始化啊,这点我把它给大家放一下,初始化呢,就是啊,这个也也说过了啊,这这个也没什么啊,这这这都OK的。那看我们的地这个地方。属性它在初始化的时候呢,有这个默认值,它是怎么给的,这有一个表需要同学们,呃,简单的看一下。
11:08
这个表呢,我这给他截过来就行了。好,这个表就是大家看到它对应的关系就是你你这个整形的啊都是零,你这个小数的都是0.0时润和引用类型是空布尔值呢是boss把这个呢有一个印象。好,具体的代码我给他拿过来。就这样写的。就这样子啊,来看这里A,哎,这就是我们的一个小案例。给大家放到我们的代码里面去。好,呃,第六一个呢,就不多说了,就是每个对象独立,大家知道就行,还有一部分就是属性的高级部分呢,我们放在构造器里面去讲,我给他拿一下。属性的高级部分我们放在构造器,还要给大家讲一下。好,同学们,到此呢,我们这一个类与对象属性这一部分就给大家先介绍到这里。
我来说两句