00:01
好了,那么这块的话,咱们仍然是在这个第18章里边吧,Object讲完之后,我们在这里呢,去新建一个什么呀,叫做哎匿名。累不累?各位啊,注意听一下这个语法啊,内部练习说完之后呢,再往下下一节呢,就是讲数组了。啊,就面向对象就彻底就没了,再往后是数组,数组往后异常对吧,集合线程IO流反射机制,咱们加完C可能就结束了啊就结束了来,那么这块的话咱们看一下啊,匿名类不类。注意啊,内部类啊,其实有好多有什么实力的,有静态的,什么叫内部类啊,就类里边套一个类,明白吗?在类里边还套了一个类,就是类里边还可以再定义一个类,但这种写法我们在实际开发中很少用啊,所以呢,在这里呢,我重点给大家讲讲匿名类类,各位啊,因为匿名的类我们以后开发要用。重点是看这个好啊,那这样大家看啊,在这里呢,我们去新建一个叫做TEST01。
01:09
卡住了啊,稍等。匿名内部类。局部内部类很少用很少用啊,很少几乎是不用的啊,几乎是不用的,咱们后期如果看源代码出现这个局部内部类,咱们到时候再看行吧。来匿名累不累啊,不不能说绝对不用啊,一点都不用,你说你一点都不用,那那那那可能这个也有点说的太绝对了啊呃,总之呢,你可能就写个一年对吧,写个两年可能可能可能也遇不到一回啊,也遇不到一回,对来看一下匿名,但是匿名那不得得。得知道了啊,得知道内部类就是什么是内部类呢。内部类不是类不类啊,是内部类啊,就是在类的内部又定义了一个新的类。
02:08
明白吧,哎,被称为什么呀,内部类啊,被称为内部类。那么第二点呢,我要说的是什么呢?是内部类的分类啊,内部类的。分类啊,它包括什么呢?包括这个静态内部类。啊,类似于什么呀,哎,类似于静态变量。啊,还有实例内部类,那么这个类似于什么呀?实例变量啊,还有局部内部类,那这个是类似于什么呀?局部类似于局部变量啊局部变量。那实际上内部类分分什么呢?就分这几种啊,分这几种,那雨彤老师你说的跟匿名类,部类是这个类,部类没有名字呗,就这个类没有名字是吧?类没有名字啊,挺有意思啊,叫匿名,匿名内部类属于谁啊?注意匿名内部类属于局部内部类当中的一种,这就是刚才这个韦斌同学提的啊,局部内部类不用是吗?
03:14
哎,这个其实也有的时候会用一下啊,局部内部类,类似于我们的局部变量。类似于局部变量,你看啊,它类这种东西里边再套一个类。你看在这class啊,Test什么呀,零一,哎,Static class。啊,我们假如就叫inner class in2你看这种语法,嗯。看啊,现在呢,在这个方法里。有一个class inner3。
04:02
大概写一写啊,写一写来注意看啊。我们编译一下。嗯,DR看看啊CD匿名进去Java c星Java编译。好,编译之后呢,大家看看这里生成了什么?生出了这么几个东西啊,一个是TEST01,一个是TEST01,一个Dollar符号后边有个什么呀?IN2,还有个INNER1是不是?哎,大家看这里还有什么呀,叫T的零一,后边有个一,然后后边紧接着怎么着有个一三。是不是?其实这个呢,就属于类内部又定义了类,各位啊,大家看好了,由于类。该类在哪儿啊,在在哪儿,在类的什么内部啊,所以称为什么呀内部类。
05:04
啊,同样下边这个也是一样的。啊,这个呢,哎也是一样的。这里啊也是一样的,那么由于它前面加了一个static。啊,由于什么呀,前面有什么呀,Static,所以称为什么呀,叫静态内部类。那这个没有static,我们叫实例内部类啊,没有sta。叫做什么呀,实例内部类啊,然后在这里呢,你有一个局部,你看你就经常经常在这儿,不是写int I吗?等于100,你想想这是什么变量,是不是局部变量,哎,所以这个叫啥呀,叫局部内部类出现在我们的方法当中,大家注意这个方法从头开始执行,执行到结束。啊,只要执行结束,我们这个类啊就不存在了,就是这个类是局部内部类。
06:02
类就不存在了,这个类在外边方法,你假如说写一个方法,这个方法叫do other,那你在这个方法里边,你想去访问这个类,对不起,访问不了,因为它是局部内部类。而你这个实力内部类必须得先把外边的对象拗出来,才能拗里边这个这个类,这就是那天大家所看见的,哎,咱们的翟老师呢,给大家的一个程序是是怎样的呀,啊什么new一个什么呀,T01完成之后,括弧之后,就相当于是不是拗了一个外边的这个对象啊,哎,这个对象有了之后,再继续往后点什么呀,哎,New new谁啊,哎new,我们这个叫做实例内部类。对不对,哎,实例那边用一个什么呀?INNER2,嗯,你会看到有这样的一个啊,代码的出现啊代码出现,但这个呢,在我们实际开发中已经很少用了啊,很少用了,几乎是不用,因为我们有有有更好的设计方案去代替他啊,所以在这里呢,这个内容我之前的时候啊,我们之前的课程当中是详细讲的。就是什么静态内部类啊,实力内部类啊,局部内部类啊,每个类都要都要讲一讲啊,但是呢,根据我们现在的一个市场一个需求啊,我们这块呢,现在哎,不再去讲能能公开没问题啊,我们就不再去讲这些静态内部类,还有实力内部类,还有局部内部类了啊就不再说了,各位啊,了解一下,了解一下,如果你感兴趣,你可以研究研究啊,研究研究,因为这块的代码很少,几乎也不这样写了,不这样写,因为这样写代码可读性太差。
07:25
注意啊,使用内部类编写的代码可读性很差啊,啊大就是能不用啊尽量不用,能不用尽量不用啊,尽量不用静态的啊,这是实力的,然后这个是这是方法呗,你看这是不是方法呀,对吧?哎,你想想你在这儿,比如说你写个什么呀,叫做int类型的age,你知道这是个什么变量吗?对吧?哎,这就叫实例变量,那这个我们就叫实例内部类,那如果你在这写一个static对吧,Country是不是,哎static country国家,那么这个时候这就属于什么呀,叫做静态变量啊对不对,那你静态变量,那你前面就用类,前面如果加一个static。
08:15
是不是,那这样的话就是静态内部类啊,甚至这个都可以private啊,可以用啊,内部类是可以用public private protected这些单词修饰的,是没有问题的啊,是没有问题的啊,你用public公开它也是可以的啊,也是可以的。好了,简单看看啊,简单看看,那么我们呀,该重点讲的还是得重点讲啊,哪个得重点讲一下呢。注意啊,这是第一个啊,嗯,Do some方法中的。局部内部类谁呀?这个叫IN3吧,哎,在哪呀?在do中不能用啊,在do other中,Do other中不能用。
09:03
嗯,我们先编一下这个程序,看语法上有没有问题啊。好没问题吧,哎,匿名内部类啊,匿名内部类,那么这块的话,咱们把这个匿名内部类看一下,匿名内部类是谁呢?是咱们局部内部类的一种。注意啊,是属于局部内部类的一种。什么是匿名类类呢?就是因为啊,因为这个类没有名字。啊而得名。叫做匿名内部类。我给大家演示一下啊。
我来说两句