00:00
呃,那么接下来呢,咱们来测试一下啊,刚才呢,在这个呃,表格里边也看到了,说这样几种权限,说在哪能看着,在哪看不着,这个呢怎么证明一下,因为大家呢,实际上开发当中用的都是都是写的代码的啊,在代码中看看啊,确实是这样子的啊,这个更真实一些啊,不是呢,光停留在咱们这个解释说明这个层面了,那这块的话呢,我们来测试一下,新建一个类啊,这个类呢,我就叫做order的一个test了。啊,这样一个类啊,嗯,在这里面的话呢,呃,我这呢,嗯,我我我这样子吧,我在新教新造一个类,就叫做order,我把这个order呢,这个权限呢,相当也给大家,这样变得也比较大了啊它呢本身就是个public的,然后这个测试呢,是单独的造了一个啊然后在这个order这个类当中,我们呢,声明这样的几个属性和方法啊诶private的,呃这个我就定义成int了啊没有实在的这个意思了,就只是呢想体会一下这样的几个权限,嗯,然后呢,是一个默认的。
01:01
哎,Order default啊呃,然后这个protected的话呢,暂时咱们先忽略掉,哎,因为咱们还没有涉及到说这个子类的问题啊,然后这呢,加一个public in行order public。OK,这呢就是目前呢,我们已经讲过的三是这三种权限,嗯,接下来呢,我们去提供对应的这个方法啊,也体现为这样不同的权限,哎,我这就写成个了,我这就叫做method private参数我也不要了啊,直接就这样,这也是个method default。哎,这样public。好,哎这呢,我们就体现了也是同样的这三种权限定义的这个方法啊,目前呢,咱们就讲过属性跟方法,所以就来看一下这个事情,那么我们首先呢,在这个类的方法内呢,试图去调用一下这些属性,那很显然是不是这三个都可以调啊,对啊,比如private这个我就复制为一了,哎,这个default的哎,我就诶随便复个值就行啊,哎,只要它不报错,编译能过呢,就说明我们是可以掉的啊。
02:15
啊,都是OK的,这个你想放到其他的这个结构里边也是一样的啊,这都没有问题,行,这就是我们所说的这个类内部啊,最小的权限private也可以在类内部被使用,行,那么范围再扩大一点,那就出了这个类了,出了这个类以后我们呢,呃,在这个order test当中来看一下,就是在同一个包当中的另外一个类里边。这呢,我们写一个main方法,在没方法里边有同学说,诶这这个我们想用一下,这个叫order,这个这个public说这不也掉不了吗,出个一这你能掉就怪了,对吧?哎,这肯定不能掉啊,这你又没定义过这样的一些结构是吧?哎,这个我们说的调用呢,指的还是得通过你这个类的对象去调啊,首先呢,我们去创建一个你当前类的对象。
03:09
行,这呢,我们就做好了。啊,那么造好以后呢,我们通过这个order呢,现在我们看我去点啊这个order default你看是可以点出来的啊order呢,这个public哎也可以呢调出来,哎当我们试图去调order叫private啊,我这写个三啊他呢就报错了。哎,错误的信息也能猜出来了,哎说你这个属性它呢,Is not vile,哎对叫属性不可见啊,就意味着呢,我们就掉不了,诶这个我我我这个写这吧,在这写一下啊说这个在那或者叫这个出了啊出了这个orderly之后。哎,我们说这个私有的这个属性,哎,就不可以调用,哎私有的私有的结构吧,属性方法都一样啊,就不可以被调用了,这呢它标识的呢,叫is not visible,它跟这个我写了个一可不一样啊。
04:17
这个呢,是不是就没有定义啊啊,这个是没有定义的意思啊,咱们这个呢是定义了,只不过呢,现在呢,你看不到啊,因为我给private画了啊,方法呢也类似我们order.method你看只能看到两个。Default的啊,跟这个public的,哎,试图呢调method啊,这个叫private,这也是调不了的啊,也是我们这样的一个原因啊,Is not visible。所以大家呢,慢慢呢也能够,呃,这个试图呢,去看一看咱们这里边儿这些错误信息啊。那这也是is not visible啊,这呢也是出了这个order以后,我们这个私有的这个结构呢,就不可以再调用了,好是这个原因造成的,哎,这呢就算说清楚了啊,哎,我们只能是把它呢注释掉。
05:13
行,没有问题吧,啊,那接着呢,我们再把这个范围扩大一下,该怎么着了。是不是该换一个包了,那我们这块呢,我去再新建一个包,比如叫张VA1了啊,在这个张VA1这个包下呢,我再去造一个,我也叫order class order test,首先明确一下啊,我们在同一个包下能造相同的这个类名的类吗?不可以的啊,那要不同的包呢,可以对不同的包呢,就没有冲突了啊,就是人家是这个包里边的这个结构,你是这个包里的啊,就是我们在回头引用的时候呢,不会出现冲突,那就没有问题啊,我这在Java一下造了一个叫order test,我们呢,同样的在这来测试一下。
06:04
这个时候测试呢,我就完全可以把刚才的这个结构呢粘过来。哎,CTRLC一下,哎,我们呢,CTRLV粘过来,Ctrl shift f那粘过来以后,我们明显看到这个,哎default的结构也不行了,这呢,我们比如说也放到这啊,这个我也给大往下移。嗯,行,嗯,Is not visible,这个给他放后边吧,这个啊,嗯,此时呢,他报的问题也是啊,Is not visible is not visible,所以说这里边我们是除了奥德类所属的包以外,包以后。啊,之后说私有的结构啊,还有咱们这个叫呃缺省呃声明的这个结构啊,都就不可以调用了啊这个CTRLC这个呢也是一样。
07:01
那那我们只能把他们也都来注释掉。来保存一下。好,这呢,就咱们所谓的这个三种权限的一个体会啊,那么关于这个叫protected的话呢,当我们讲了这个继承以后,诶,咱们再测试一下那个关于protected的一个说明啊,暂时呢,大家需要掌握的呢,呃,是这三种啊,就是目前呢,咱们声明这个,呃,Protect这个情况呢,先不要写啊,先只写这三种权限的,嗯,这种情况,那么但是需要大家记住的话啊,毕竟咱们这四个呢,都体现为叫封装性的,大家把这个呢,权限它到底在哪能看着你先记住啊,咱们呢先不测了啊行,这是这个事儿,另外呢,咱们也提到说关于这个order类本身啊,这个类本身呢,它有两种权限可以修饰。啊一种呢叫做public public呢就意味着呢,它这个权限也比较大,咱们呢,在同一个包之内呢,可以用啊,那如果我把这个order呢,这个权限改成缺省的了。
08:02
缺醒是不是仍然意味着是只能在同一个包之内用啊对,那你这时候想啊,我保存一下,大家会看到这块报错了,是不是就能理解了,诶就是我这儿写了一个order,是一个缺省权限,意味着只能在同一个包之内使用,那出了这个包你这就不行了,他就看不到了,哎,上面呢,大家也能看到,说这有个引用,那引用也不行。啊,我想用你这类里边的东西,那也不行,我现在不让你用啊,所以这块呢,他也会报错啊,这不是写了说是吧,啊这个保存啊,保存它这个你看它这写的说。说找不到是吧,哎,这个就是相当于是没有定义的这样的一个意思一样,呃其实是有,但是呢,用不了啊,你看不着了,诶你把这个呢,给它改大一点它就可以了,哎这样个情况啊,行,这就不报错了,行这就相当于关于这个类的这块呢,我们也都诶测试了一下,诶是这个意思啊,那其实大家呢,可以形象点去理解一下,咱们说的这个叫这个四种权限。
09:13
哎,形象点呢,去理解这四种权限啊呃,如果我们先只考虑这个类内部的结构啊,咱们目前的这个类呢,只讲了属性,讲了方法,那还有其他的代码的这个构造器跟那个内部类也可以被修饰,大家呢,你可以把这个类呢。哎,脑子里边你可以想象成是一个盒子啊,这个类里边声明的属性方法构造器内部类,你可以看成是这个盒子里边呢,你放了一些小东西啊,然后呢,咱们就可以使用这四种权限去给你这个小东西上面去贴标签啊,如果有一个标签呢,叫private的。就意味着在这个盒子里边呢,可以他们相互之间吊着用,你要是你作为一个盒子外边的一个一个结构一个人的话呢,你就看不见这个私有的东西了,哎,如果你要是缺省的呢啊,你要在同个包里边就能看见啊,所以呢,简单来说就是我们这四种权限去修饰类和类的内部成员啊,最终的效果是什么呢?就是体现了我们所修饰的这个结构的一个可见性的大小。
10:19
哎,我把这句话呢写出来啊。这呢就是关于我们说的叫封装性啊,最终呢,如果我们用比较简洁的话呢,来总结一下啊。总结一下,我们这个所谓的叫封装性啊,就是Java呢,哎,提供了啊,这个叫四种权限修饰,权限修饰,嗯,这个符的话呢,就是你要这个不是那么严格的加上一个符也行啊,嗯,就是毕竟这个缺省这块,其实它没有一个具体的符号了啊,这个这个写上符也可以啊,就是不是那么严密的话也行,说Java呢,提供了四种权限修饰符来修饰类及类的内部结构。
11:12
哎,然后呢,体现了哎,或者叫体这个类及类的内部结构的可见性的大小啊,或者说准确的再说呢,在被调用时啊的可见性的大小,就是我到底调用的时候,我能不能看到你这就叫做可见性,咱们那那会儿说呢,不能看到叫is not visible,这就表示不可见。啊,如果我们用比较简洁的话呢,来总结的话呢,大家就可以用这句话呢来说一下,我们这叫封装性啊呃,就有点像什么呢,这个大家有没有见过那种广告,就是卖那种叫透视眼镜的,没有啊,就特别坚定的摇头是吧,一般的这种摇头的都见过啊,就是呃,你可以稍微这个想象一点,那样一种场景,就是你比如说买50块钱的就只能诶看透一层衣服是吧?啊100块钱能看透两层啊,300块钱的呢,就能看到骨骼了是吧?嗯,就是这种可见性大小不一样了,就是相当于我们把这个类里边这个结构呢,给它分这个层次了,有的能看着,有的看不着,这个呢,就是通过这种权限修饰符来体现的啊,就是我们这个封装性怎么能够达到这样的一种效果啊,就像咱们刚才前面提到啊,这个高内聚啊,低耦合啊,怎么能够完成这样的事儿,就是四种权限帮你做。
12:42
这个事儿的。啊,这就是我们最终呢,总结出来的这个点啊行,那关于这个封装性的话呢,我们就提到这儿啊。
我来说两句