00:00
的对象。大家看这里,大家看这里。我们说有我们我们去创建一个内部类呢哦。我们是可以去访问它的这个外部类的,这种有属性的,私有属性的,你看我在这里呢,我就写了一个方法,我写了一个方法,看这个方法很简单啊,我在这个class,呃,Inner class里面,我写了一段这个代码,这个代码非常简单,就是print的一句话。Print一句话,那么我们把这句话呢,直接拿过来,我这就偷个懒了啊,这段代码呢也很简单,就是。访问外部,外部类的这种属性。好,我直接放到哪里呢?就放在我们这个inner class这个类里边对不对,好大家看一下。好看一下走。好,呃,我们来看看这里面,因为我没有写这个name和这个salary呢,它就报错了啊,报错了,那这样子我们在这里呢,来定义啊,定义两个属性,两个属性,第一个呢,我们就定一个普通的属性,就叫name,给它一个名字吧,叫SC,好,那我这样写完过后呢,下面这个就没问题了,紧接着呢,我们再定义一个私有的salary,我们看看能不能访问到啊,朋友们,Private private还是where are吧。
01:29
啊S,然后呢,给他一个薪水,比如说是3万.9代码就行了。那么通过这个代码呢,我们可以看到在SC里边,我们这个内部类是可以访问啊,这个它的一个最一个作用吗?啊,别人问你这个类不类,它一个作用至少有一个能答的上来,对吧?它可以去访问我们私有的跨,就是两个类之间本身就没什么关系,但是我可以访访问你了,访问你了,那么大家看这个地方的访问方式要来做一个简单的介绍,同学们看这里我怎么写的呢?是开了out class.this.name。
02:12
哎,这识点吗?那么怎么理解这句话呢?啊,主主主要是理解这个东西。主要是你这个东西。那么我们在这个访问的形式是用的外部类名,点Z时点属姓名,怎么理解这个东西呢?好,我这写了一句话。你可以这样理解,相当于是scanner out class这个外部类的一个实例,就是你可以把这个当做是他的一个实例。当做一个实例,然后通过这个实例去访问内比实例点内,这个就很好理解了。啊,当然有些同学可能知道,如果在Java里边,在Java里边我们一个内部内去访问外部呢,我们一般是这样写的,是类似于像order.class用一个反射来实例一个对象啊,可能我们学甲同学更容易理解的是这种写法。
03:05
但是这种写法呢,在我们这个,呃,SC不是这样写的,它直接是点Z,好,这个就是为了帮助大家理解呢,我这写了一段注释,好,这个写完我们就可以来用了啊,这个写完我们就可以用了,那么我们来用一把啊同学们啊,用的时候呢,非常的简单,我就直接。把那个inner,我们刚才不是写了一个婴儿一吗?INNER2吗?好,我用它来玩一把。啊来同学们,我们测试一下使用这个婴儿一啊去调用啊去调用什么方法呢?就是刚才我们那个show in for,就这个方法,In for这个方法,看看能不能正确的运行成功。好,来玩一把,Inner点儿。第二什么呢?In inform啊,你看代码没有问题,我们看能不能输出name。和这个age啊,这个age这是写错了啊,Salary那改成salary。
04:05
薪水啊,好,来,同学们,我们运行一把,跑起来看代码运行的效果。我们可以看到这段运行的效果呢,没有任何毛病,说明他成功了啊,说明他成功了,这说明我们在内部内去访问外面的私有的东西是没有任何问题的。好,这是我们的第一个就是嵌套类使用的案例,大家呢要有一点印象。好,那讲完这个过后呢,下一个话题呢,我们就来看一个案例啊,看一另外一个案例什么呢?方式二。就是我们去,我们去访内部类,访问这个外部类的属性,除了刚才的这种形式之外呢。就是外部类名点this属性名这种方式之外呢,我们开了还提供了第二一种方式,什么方式呢?别名的方式,在我们有些源码里面呢,他更喜欢的是。
05:07
别离方式,所以说我这写了两个字叫推荐使用,为什么呢,这样看起来更简洁,它怎么做呢?非常简单,它就是说整个把你整个累不累,注意看啊,整个累不累,给你取个别的名字。啊,取个别的名字好啊,不是把内部类取取一个名字啊,说错了说错了啊,他这样子的,它它是在整个把你这一块在前面加一个my alter。这个my al加进去,你可以这样理解,就是my al就代表外部类的一个对象,那如果这样写的话呢,这个外部类的别名。就直接替代了刚才的这句话,我们原先是这样写的,是外部类的类名点Z4。啊,就是这这个别名就可以。等价啊,这个别名这个东西就等价了,什么呢?A就等价那个这个钢这个别名了。
06:08
那这个怎么用呢?给同学们演示一下,给同学们演示一下啊,快速的演示一下,来走一个还在这写。还在这写,呃,那么怎怎么来演示呢?首先第一个动作。呃,如果要用别名有一个前提,什么前提呢?需要把我们的属性的定义扔在这个别名的后面。啊,如果你不写的话呢,如果你不放在后面,他要报错,那首先我们把这段这个定义卡到哪里去呢?卡到这边来。啊,这样这样子啊,我为了不动这个呢,我把这个先注释,不然的话,我们这个代码不就没有了吗?我先把它注释一下啊同学们。好,这个地方我们讲了啊,这个外部啊,外部啊,就是内部内,内部内访问外部类的这个属性的方法,第一种啊,待会我们还要做做这个板书的,大家不要着急,你看这个有时候板书一下呢,对整个逻辑就更清晰了,对吧,我们来看第二种方式。
07:17
第二种方式呢,就在我就在这上面稍微的改一下,大家一下就知道了啊同学们。那怎么方式呢,就是使用别名的啊,别名的方式,别名的方式。啊方式,呃,刚才我们这个方式一是什么方式呢?我也写一下,它是这样子是外部啊,外部内0.z是属性啊,但是这个属性是,呃,这个这个就是外部类的一个属性啊,现在我们改一下来走一个怎么写呢。第一个首先哎,首先将这个外部类的外部类的属性写在。
08:01
写在这个别名的后边,别名后面,那也就是说首先我们把它这样子拿一下啊。整个把它剪切到后边去。后边去。好,这样一写呢,代码也没有毛病,现在我要开始取别名了,别名怎么取呢?把整个这个从这这一大块。当做他的一个包起来的一个别名,那怎么写啊,比如说我写一个叫my alter。那这个名字你随意啊,买alter,我就写个my alter,买alter,然后呢,走一个箭头。好同学看这样写完了过后呢,还有一点问题啊,还有问题哪里出了错呢,我们来看一下,取的时候这个地方有一个my al走哎,我看这地方是哪里写错了啊class。哪儿写错了?哦。
09:00
啊,这这怎么打开了这个哈,这是怎么回事啊,好,这个地方不能打开啊,好这个怎么打了一个空格,好这样子大家看到啊,如果这样一写过后呢,我们这个地方就可以发生变化了,那我把这个注释改一改,好现在访问方式已然变成了外部的,外部类的别名。R部类的别名。别名。好,这个别名呢,这个地方我就不去理解了,你直接可以把这个别名当作是什么呢?当作是它的一个实例啊,这里这里我们可以这样理解,怎样理解呢?就是外部类的一个外部类的别名,别名别名啊啊干什么呢,等价或者是啊就。呃,看作看作是外部,外部内的一个什么样实例啊实例OK,看到外部的一个实例,好,这样写法呢就简单了,直接把这个my alter拿过来,然后把这个踢掉。
10:07
啊,但从这个语法上看起来更简洁一点啊,更简洁一点,把这个呢放这儿啊,看起来更简洁一点。好,两种方式都可以,那么我们来运行一下,看看代码能不能OK,为了看到有代码有变化呢,我在这个内幕后面加个小尾巴,诶看到输出呢有变化,好,然后我把这个靠换一个名字,比如说这个呢,我们叫做啊,叫做另外一个人,比如说叫做Jackie,哦,Jackie。好,这边我们把这个薪水换一下,比如它是这个800块钱。好,运行一下。看代码能不能正确的运行好起来。好,这样运行我们看到代码呢,仍然是OK的,好,这是我们的第二一种去使用的方式啊,有时候呢,我们看源源码的时候,偶尔会看到这样的代码,大家要能够看得懂哈,看得懂,好同学们,我把这个代码呢,现在我们就可以把它进行一个简单的板书了,我们刚才讲的内容呢,板书一下,诶我们从哪里开始讲的呢?我们是从这开始讲的,呃,前面这个Java的加嵌套类Java的回顾,我就。
11:16
不,不板书了,我直接呢,直接从这里开始回顾,好吧,就先到这儿。嵌套类给大家阐述一下,我们刚才讲的是嵌套类的内容,对,我们讲的是嵌套类的内容。对,那签到内的内容呢,诶,这个是标题二比较好啊,标题二这个写的标题太小了。标题二。好,嵌套类我首先干了一件什么事情呢?先给大家马上上了一个案例,让大家体验了一下,干了嵌套类的使用,对吧?哎,这个也很简单,然后呢,我把这个拿过来给大家看一下,诶,这是我们的第一个小案例。呃,嵌套类的一个基本使用。
12:02
哪里好?标题三。标题上。好,然后呢,我在这地方就写了一段代码来测试,好看一下代码原代码啊代码。代码如下,对这个代码呢,也就是在这写写清楚了的,诶就这个。就这个啊,在这scanner对吧,呃,当时我们举的案例呢,是这样一个案例。啊,就是在这写了一段代码啊,写了一段代码在这好干脆,这这这段代码比较比较少,我就直接把这个截过来就行了啊。待会儿呢,再总的接一个代码就OK啊,那大家看的也比较清晰,这样子好,这是我们的代码。然后这个代码做完了以后呢,我们就讲了一下scale嵌套类的使用的呃两种方式啊,第一种呢,就是呃,我们去访问外部类属性的时候,第一种方式,外部类点this,以及这个外部类别名去访问的两种方式,对吧?好,这个呢也给同学们阐述一下,哎,这是我们讲的第二一个点,就是使用的两种方式。
13:12
OK,来解一个。好,这是我们的标题三里面的方式一啊,方式一方式一方式一的方式一就是内部内,如果想访问外部类属性的第一种方式,什么方式呢?就是外部类名字点this这种方式。然后呢,这边有一段代码啊,这边有一段代码。诶,写到这儿来吗。代码呢,我给大家把这个拿过来哈,代码就相当于说上面这一截是吧,上面这一节呢,我们呃,就可以这样子把它从这开始截取一段,好,这是我们这段代码。好,拿过来吧。参数到这个表格里面去。好,他的一看也清楚了啊,我把这个键盘标出来就这。
14:03
哎,就这。这是我们的这个啊,第一种方式,那方式二呢,诶方式二,方式二是干什么呢?诶方式二就是说我们也可以使用别名的方式来访问,在这写的就是使用别名的方式来访问。对别名的方式给大家也解决到这儿。那么这段代码的案例呢,也给同学们写下啊,访问通过别名的内外部类的别名方式来访问,那么我们在源码里面呢,可以看到很多这种方式是推荐的好,然后我把代码放到这好代码如下。好,这个代码呢,我就可以整体把它拷贝过来了。好的。给大家板书到这里,Very easy啊,Very easy。好,这个就是我们这个什么呢?就是嵌套类,就是盖嵌套类的使用,我们先截取一段视频。
我来说两句