00:00
好,那整个呢,总结一下,咱们目前呢,是讲到了这个类和对象的创建啊,这样的三个步骤,然后以及呢,创建多个对象,它们之间的一个关系,以及内存当中的一个展,展示的一个情况啊,我们叫做内存解析了,那这个内容结束以后呢,我们翻回来,既然你说到这个类是很重要的,设计类呢,就是设计类的成员了,我们现在呢,重心就放到这儿啊,因为你后边呢,造对象呢,一行代码搞定,调它的结构呢,也是一行代码就可以搞定了,那这个设计这个类呢,比较复杂,我们现在呢,就回到这个中心这块,这个重心这块呢,我们类里边主要呢有属性和方法,那我们就得分别来看一下属性,我们该如何呢,去给他声明有哪些需要注意的点,包括呢,咱们刚才还提到了一个概念,叫做局部变量。那局部变量呢,又都包括哪些位置啊,该怎么去声明,跟属性呢,又有什么区别啊,这是我们接下来要讲的,然后后边呢,我们讲完以后再来说一下这个方法该怎么去声明啊,这样好,这块呢,我们专门来造一个类,来说明一下这个属性的一个使用,我这呢叫做user test。
01:16
哎,这呢,我们来说明一下啊,这个类中属性的。呃,一个使用好,这是我们说的这个知识点啊,那么我们现在呢,提到了一个结构呢,叫做属性,这个属性呢,咱们也叫做成业变量,对,也叫做成以变量,那么我们结合着另外一个结构叫做局物变量,哎这个一起来说一说,好,那首先你得知道什么叫成现变量,什么叫局部变量,得能区分出来写啊,那我们这呢,其实也在说明它们的区别啊,这是算是不同了,第一个咱们也可以先总结,他们这个叫相同点,哎,这个一会写,哎然后第二点呢,就是他们的这个不同点,哎不同点呢,哎就是一个叫纯现变量,一个叫求变量了啊那这里边呢,主要呢,是根据它们在类中声明的位置的不同,我们呢才有这样的区分,哎,在类中生命的。
02:22
位置的不同,那么呈现变量或者叫它属性,我们说呢,叫直接定义在类的一对这个大括号内。哎,这样的话呢,它叫做属性,比如说那下边呢,咱们来创建一个类,我这呢叫user,诶换了个名,里边呢,我们假设还是咱们刚才说到person的这样的几个属性,哎,直接呢,定义在我们这个大括号内的,哎,我死针型的一个name in,特型的一个age啊,波尔类型的啊,Is ma,那这三个呢,直接定义在大括号内的这个变量呢,都叫做属性,或者呢,也叫做成员变量啊,在这呢,都叫做它啊,那什么叫做局部变量?
03:15
首先呢,局部变量它也是一个变量啊,那么我们将声明在声明在这个方法内,方法行参代码块内,构造器行参,哎构构造器啊,哎行参,还有这个构造器内部的这个变量,哎,就都称作叫局部变量,那咱们现在呢,这个构造器没有见过,代码块也没见过,大家就先忽略掉,那这里就提到方法内核方法行参的问题,好,我们来举例子,比如说刚才那会我们提到说public word叫一个talk,哎说这个他们之间交流啊,交流用的什么语言,咱们写了写了一个string性的叫language。
04:11
哎,说呢,哎,我们使用,呃,加上language。哎,进行交流保存一下,那这里边儿呢,我们这个位置就称作叫做行参。那这个它呢,Language就称作叫刑残,就是在我们这个方法的这个小括号里边,这是这个方法名啊,这是它的一个小括号里边,我们说完属性呢,再详细的来说一下这个方法啊,先在你知道这个位置呢,叫行参了,它呢属于局部变量,那在这个方法内部定义的变量呢,也属于叫行参,比如说我这public VO,我们定一个eat,在这里边呢,我定一个比如说string型的叫food,嗯,叫披萨。
05:08
在这里边说啊说人。换一个吧,换成咱们中餐川菜啊这个啊,这个披萨对应的也行,烙饼吧,人中国人准确的说应该是北方人是吧,南方人是不是不咋吃这个面是吧,都吃大米啊,北方人喜欢吃饼啊,就是的啊,其实这个都说是不知道是真的假的啊,说这个中国这个烙饼就是馅在里边,传到西方以后呢,说他们不知道怎么把馅弄到里边的,就撒到上面是吧,就是披萨不知道真的假的啊嗯,行,这呢就是我们说的这个定义在方法内的这个变量,它呢叫做局部变量啊啊,这是行参,行参呢也是局变量。
06:14
这呢就是我们目前呢,大家会见到的两个典型的位置啊,两个典型的位置,注意我们这时候呢,指的是变量的声明啊,就是你声明在哪,我们就算是你定义在哪了,就是声明,就是说你这个变量前面带一个类型的,这就是叫变量的声明了,嗯,我们是在这个方法内的,所以它呢叫做局部变量,好先明确它们这个概念啊,就是这两个呢,其实都是变量,都是变量啊,既然都是变量,其实它们有一些共性的,那你比如说这个相同点,咱们提到的,呃,只要是变量定义变量的这个格式是一样的,哎,格式的话呢,都涉及到叫数据类型。哎,变量名,哎右边呢,还会给他来一个变量值,哎只不过呢,我们这里边有的时候呢,先是声明了,还没有给它复制呢,啊要完整写上呢,就这几部分,这第一个算是相同点了,第二个呢,我们说只要是变量的话呢,都应该叫先声明后使用,哎,这呢也是一样的,哎不多说,第三个点呢,就是是一个变量呢,它都会有它的作用域。
07:28
变量都有其声明啊,所在的啊,或者叫都有其对应的啊,啊这个作用域,那就是超过你这个作用域范围了,你就都失效了,这一点呢也是一样的啊,说白了就是人家都是大家都是变量啊,只要是变量呢,就都遵循这样的几个点,咱们原来讲变量时候都说过了啊,它俩的主要区别就是定义的位置不一样,因为位置的不一样呢,表现出来了一些不同的东西了。其实就跟咱们说人一样哈,因为大家其实都是人,但是呢,你在这个公司当中呢,呃,有的人呢,他叫这个高层领导,有的叫中层领导,有的叫普通员工,诶分出来这个不同的这个级别了,所以呢,他们每个人不同的权限呢,可能就不太一样了啊,其实在这个生物界里边可能更明显一点啊,生物界里边它这个等级有时候分的还是很很很,这个叫严密的,或者说这个不允许跨级,你像咱们说人类社会的话,相对来讲还好一点哈,一个普通员工他也可以去创业,他就变成老板了,他一下子就成了个高级管理者了,是吧,嗯,但是呢,你在这个生物界里边有好多这个生物,它是出生的话呢,就是那样的一个级别。
08:43
比如像这个典型的这个蜜蜂哈,其实有时候咱人老是说说蜜蜂是新型的劳动者,给我们酿造蜂蜜,那人那蜜蜂酿造蜂蜜也不是让你喝的呀,你给人家抢过去喝了,然后你还说说你是新型劳动者,还给我们酿造蜂蜜,太无耻了,其实是吧,嗯,这个蜜蜂里边呢,有几个角色啊,一个是这个蜂王,对,它是一个雌性的,嗯,然后还有这个叫雄风,雄风这就一看就是雄性的啊。
09:19
然后还有一个叫工蜂工人的弓,对不是不是这个弓啊,工人都成雄都成雄性了啊,这个宫这个呢也是雌性的,这是雌性的啊,那通常来讲,一个蜂巢里边通常都会有一个蜂王是吧?然后有有有一些这个雄蜂,然后呢,有很多很多的这个工蜂,嗯,这个我那时候学生物的时候呢,可能那会儿睡着了啊,就是不知道是不是这样子的,就是说这个蜂王跟这个公蜂呢,说产的这个卵呢,好像没什么区别,主要就是放在这个位置不一样了,是这样的是吧?不一样啊,那说明我那时候没有睡着啊,就是这个蜂王的这个洞呢比较大,然后这个呢,就洞比较小,就蜂那不是有一个一个蜂一个巢一个巢的那种,然后这个蜂王的话呢,都是喂的最好的东西。
10:11
对对,我们叫蜂王浆了,人家不叫蜂王浆啊,就是他吃的东西我们叫蜂王浆啊,就是人就来也来吃了,呃,就是给他喂的东西比较好,然后给他喂的比较差一些啊,那营养呢就少,而且呢,它这个这个潮不也小嘛,小的话它也长不大,这个呢,潮比较大,喂的也好,所以它长的个数就比较大。哎,然后呢,这个地位就出来了,就不一样了。嗯,就像咱们这里边这个,呃,说的这两个变量一样啊,实实际上呢,这都是受精卵,都是这个磁性的啊,就是因为你放的位置不一样啊,这个呢,你放到这个直接的类里边了,这就叫做成员变量,这个呢,你放到方法里了,这叫做局部变量,就是因为你放的位置不同,所以才有不同的这个角色啊这种啊好,那这是我们说的这个第一个区别点,就是在类中生命的位置是不一样子的啊,那除了这个之外呢,它还有其他的一些不同,哎,我们就接着来写一写,哎,通过这些不同呢,咱们也都学习一下,属性跟局部变量相当于就都讲了啊,第二个不同呢,我们回归到这块啊。
11:15
这呢是咱们这个变量的这样的三个部分,那么在这个数据类型前面的话呢,实际上呢,是可以在考虑声明其他的结构的,呃,那我们这里边就要提到了一个叫权限修饰符啊,关于权限修饰符的不同。那这呢有什么不同呢?这里我们提到对于属性来讲,它呢,可以在声明变量时,或者叫声明属性时,哎,然后呢,指明其这个权限修饰符,指明其权限吧,啊然后呢,使用权限修饰符。
12:00
可能大家不明白啊,认为我们这里提一下,那么常用的权限修饰符有哪些,哎,这里边提到了像public,对这都是,还有呢,一种叫做缺省的缺省,这省出不来缺省就这样,这个是应该是你缺省是吧?嗯,但是这个搜狗输入法出不来这个省啊,然后还有呢,叫per detected,诶这个呢,我算是写的比较全的了啊,嗯,什么意思呢,就是你看我们这个属性啊,这属性呢,我们前面呢没写别的,其实没写别的呢,就是缺醒的。就是一种默认的一种权限啊,那如果你要写的话呢,我可以在前面呢加上叫private,然后这个age这呢,诶,我可以加上叫public。哎,这个protected你也可以给他加上,这就是属于叫不同的这个权限,哎,我要不写的话呢,这就是这种缺省的权限,这样你看我这写上以后呢,也没有报错啊,就是说明是可以的啊,那这个权限是干什么用呢?简单说一句啊,它呢其实就体现了我们这个结构呢,被调用时候的一个可见性的大小。
13:19
说的通俗一点,就是说这个加上以后呢,有的时候我们在外边就不能调了,有的时候能调,主要呢,就因为这个权限不同的影响,权限大的呢,像这个public我在外边就能掉,Private这个权限呢,出了这个类呢,就不能掉了,就这个意思啊,详细的话呢,这个我们放到类的封装性的时候再讲封装性呢,主要就是说这个事了。这个咱们靠后的时候再说,哎暂时呢,咱们先只需要知道我们这个属性这块呢,是可以来声明这个权限的啊,那么目前目前呢,大家声明属性时,哎,那我们呢,都使用这个缺省就可以了。
14:07
哎,就是目前呢,先这样,等我们讲到这个封装性的时候呢,咱们再换成其他的,再体会具体有什么不同啊,行,这是咱们说的这个叫属性,然后下面呢,我们说局部变量,那么对于局部变量来讲呢,它是不可以啊使用权限求止符的,那就意味着像这个language的位置,或者我们这个负的位置,前面呢,你如果想试图呢,写写这个叫private public都会报错。啊,你看非法的修饰符对于我们这个参数负的来讲,哎,他这还写了,说只有这个final呢是允许的,Final也是个关键字,我们放后边再说啊呃,至少呢,说明呢,我们这个private呢不可以写,Public呢也不能写。哎,都是非法的,都是illegal啊,非法的意思啊。
15:03
嗯,一方面呢,大家可以理解为那叫不能写,另外一方面呢,其实也可以理解为呢,它这个权限呢,就用这个方法这块来代替了,方法是public呢,那里边儿呢就也算是public了,可以这样来理解啊,行,这呢是说是说的这个叫权限修饰符的不同。
我来说两句