00:00
嗯,先看一下咱们这个昨天讲这个内容涉及到的这五个问题啊,这五个问题昨天呢,主要咱们这个上来呢,先讲了一个封装性,然后涉及到这个构造器,哎,包括这次关键字,包括后边package in part,哎,这都涉及到的一些内容啊成那我们看下这几个问题啊,第一个哎,构造器的作用是什么,使用当中有哪些注意点,来找个同学来说一下。嗯,这个孙雪剑吧,嗯,构造在那个创建,建那个对象的时候必须有构造。对,那它的作用呢,就是创建对象是吧?嗯,第一个作用叫创建对象,还有一个作用,那在创建对象的同时,我们有一些那些像那些重载的过道器,有型参的,你还可以做什么事啊,对,就是初始化我们这个对象的一些结构是吧?啊,这是两个作用啊,嗯,那使用当中的注意点能说几个吗?
01:09
他不需要那个不需要返回,对这个构造器呢,没有返回值,嗯,要那个不需要什么那个修饰。不需要修饰符吗?什么修饰符?还有别的吗?可以生命多个构造器,嗯,这个记得不是特别好了,有几个主要的点都还没有说出来。啊,而且呢,刚才提到那个修饰符,修饰符的话呢,其实有很多种了啊,像咱们后边没有讲到的这个static呀,Final啊,Abstract呀等等,这都算是修饰符,哎,咱们呃,这个像第四个提到的这叫权限修饰符,就专门来体现它这个权限大小的这个啊,是这意思啊,况且的话呢,呃,如果你要把这个修饰符先误认为是这个就只是全然修饰符了,那咱们构造器也可以用前修饰符啊是吧,不是说不能用啊,可以用的,嗯,那那个同桌再来重新说说啊。
02:24
就是我们构造器使用当中,咱们也讲了好几个点哈,哪几个点对呗,嗯。就是那个默系统默认一个构造器,然后默认的构造器长什么样呢?就是没有参数啊对无参的构造器,嗯默认构造,嗯就是你显示定义的话,嗯,显示定义的也不一定定义的,就是有参的,也可能定义无餐是吧,嗯,然后还有还有那个。构造器名字可以重复,就是重载,跟那个扩重载一样,这个可以重载,嗯嗯,对,构造器还可以重载,然后还有我们提了说一个类当中一定会有构造器的,对吧?哎,对啊,就这句话呢,自始至终啊都是对的,包括咱们后边还会讲这个叫抽象类,诶抽象类的话呢,它的特点呢,就是不能够造对象了,这咱们后边会说啊,呃,但是它不能造对象,跟他没有过造器是两回事,呃,它仍然是有过造器的,就是说呢,我们讲说累一定会有过造器,这句话自始至终都是对的啊是这个大家关注一下啊好,呃,这个呢就过了啊这个题目的话呢,大家还是要熟悉的,就这儿呢,要几个注意点,虽然说呢这个,呃,笔试面试也好等等,他不会说这样去考你,但是大家呢,用构造器最基本的几个点,那肯定还是要会的啊,大家呢,就把这个构造器看成是跟类呃,跟这个方法并列的一个结构就可以了啊,肯定不能写返回值了啊,返回值类型那肯定是不能写的啊,行,这是第一道。
03:58
问题一会复习的时候,我们再稍微提一下,第二个说关于类的属性的赋值,有几种赋值的方式,谈谈呢,赋值的先后顺序啊,这呢也是一个基本的问题,需要大家呢能够清楚的啊,哎,我这个看飞秋调叫什么啊,找个特别的。
04:16
中国医生吧,就已经准备好这个后期的头型了的是吧?嗯嗯,你是按这个先后顺序说的是吧?嗯,行,第一个叫默认初始化始对,然后显示初始化,诶构造期当中可以进行初始化,诶通过对象呢调方法或者呢,诶如果呢,你这个权限要是没有设置的话呢,我们还可以直接对象来调属性,哎通过这样的方式呢,还可以呢,再给我们这个属性赋值。嗯,而且呢,这个复制操作呢,是不是你想调用几次就调几次啊,哎,对的啊,前面的话呢,是不是只能调一次啊,哎,对啊,就是前面的话呢,尤其是到我们这个构造器当中,初始化这个呢,就是我们在创建这个对象的过程啊,然后这个过程呢,我们只能是各自只能调一次啊,而且先后顺序呢,有严格的一个要求或者叫规定啊行,这个没有问题,呃,下一个说这次关键字可以用来调用哪些结构啊,简单的说明一下,这呢我就不找同学说了啊,这里边要说这个细节还挺多的,就这个话也比较多一些啊呃,简单来说呢,这个this啊this,这是我们讲的一个关键字了啊,它呢主要呢可以用来调用哪几个结构啊,属性方法啊哎,构造器,这也是咱们目前讲到的这样的几个结构啊,这个this呢,它能掉的也是我们这个类里边的几个结构,呃,主要原因呢,还是因为这个this它本身这个这个这个我们的理解有关系啊,咱们呢就把它呢。
05:55
理解为哎叫当前对象,哎或者呢叫当前正在创建的对象啊,它呢其实是一个对象这样的层面的一个意思了,既然你是个对象层面的意思,所以说呢,它能调的,就像咱们当初咱们通过对象呢调属性,对象呢调方法啊就有点类似了啊这个构造器的话呢,呃,其实你就呃就别按照他这个理解了,这个我们主要理解呢,就是说前面这个啊调属性调方法的事儿啊,然后后边这个构造器的话呢,这个这有点像呢,是呃与类同名的那个意思一样啊,因为咱们构造器都是与类同名的啊,它呢也是一个与类同名的那个结构啊。
06:37
行呃,那么调属性调方法,正常情况下呢,咱们是都给省略了这个这次了,哎,但是说呢,在这个特殊的情况下呢,说一定不能省啊,什么特殊情况呀,就是涉及到那个行参的问题是吧?哎,对,主要呢就是行参啊,方法或者构造器的行参,咱们经常说要建明之意,那就意味着如果我们要给属性赋值,通常呢,都会将那个行参的名跟我们那个属性名长,呃这个写的一样,这写一样,那就区分不出来了啊,那我们就必须要用Z啊,这个一说大家啊很清楚啊,那就说明这个关键字呢是OK的啊,然后构造器的话呢,这是我们一个新的点了啊,就是我们在这个Z次,呃,在这构造器的首行,诶可以写这个Z次,哎,小括号形单列表调你重载的其他的构造器啊,就这个意思啊,行一会呢展开,我们在具体的复习的时候提一下,说下一个Java当中涉及到的四种权限修。
07:37
修符都有什么啊,这个严格上来讲呢,其实是有三种全修饰符就具体写出来的,实际上是有仨哈啊,没写的那个呢,也是一种权限啊,其实我这加了个符,其实你要准确的说应该叫四种权限修饰啊,只有三种是有符号的啊嗯,这个呢,大家应该写的都不能差了啊,只要写差的话呢,那这个就不应该了,昨天也说了考了,而且呢,呃,大家一定要会。
08:03
啊,一定要会的啊,就是咱们后边呢,还会讲这个数据库啊,像数据库的话呢,它也会设置不同的权限啊,这个数据库的这个系统用户啊,包括这个像具体公司当中的DBA啊,诶这种权限都是比较高的啊,如果是一个普通的一个用户呢,他的权限呢就比较少啊,这都提到这个权限的一个问题啊,在咱们Java当中呢,所谓的这个权限,哎,就是涉及到这个类,哎大家呢,就把这个类呢当成咱们说的一个盒子一样啊说呢我们用几个全限修饰符呢,去修饰这个类和类的这些成员。诶,然后呢,体现他们被调用时候的一个可见性的大小,哎,你看这是我说的是被调用时的可见性的大小,并不是说呢,呃,用全限修饰符修饰以后说这个,说这个对应的结构存在与否的问题。这个是有区别的吧,就是存在不存在,跟我有能不能调,或者可不可见它是两个层面的意思是吧,就是你你实际上有,但是呢,我调不了,这叫可见性的大小啊,你有没有那是存不存在的问题啊。
09:14
咱们这儿呢,主要解决的是它可见性的问题,就是人家本身其实是有的啊,像这个私有的属性是吧,比如int型的一个age,或者说这个私有的方法啊,比如word的一个it方法,哎,虽然呢是声明为私有的了,我们呢,出了这个类也不可以直接来调这个属性和直接调这个方法了,但是呢,哎,我们这个类在最初被加载的时候呢,这个方法仍然是加载到内存中了,这个属性也存在于我们堆空间中,你这个对象里。啊,都有,只是呢不可见啊,这个大家一定要明确这个问题啊,好,下一个这个主要呢,来考察大家这个,呃,Get set方法。
10:03
呃,这个呢,大家得会去写啊,这个我简单的在这写一下,首先啊,这个具体这类我就不写了啊啊这个属性是什么类型呢?这没题,你写double啊,写写这个int啊都哎都可以算对啊。哎,这声明了它的属性的私有化,提供get和set方法啊我呃Y这个是哪个方法,哎,对set。哎,有参数吧,哎有。哎,Readdius,然后在这里边,哎咱们就Z4点,哎,Readdius等于哎,Readdius好,接着写一个钙的方法,Get的方法,你去拿这个东西,那一定得有返回值,哎,Double get,哎,Readers,哎,那有参数吗?没有了,嗯,去拿东西呢,就不要带东西去了,哎我们直接return一下,哎,Radius好,这就OK了啊行,这呢就是咱们说的这个主要的体现这个封装性的这个点啊这里边呢,主要呢是针对于咱们这个属性,体现了一个封装性,或者叫一个隐藏性啊诶我把它生明成个私有的了,导致呢在这个类的外部呢,就不可以调了,诶我们呢,可以提供公共的方法去设置和获取啊这是这样的题目,原的面积呢这块呃,大家也写一写,但是不是我们昨天主要的一个考察点了啊啊,至于说这个方法有没有反回值呢,大家自己定这个题目呢,也没有明确说啊。
11:35
那你就自己决定就行了,比如你要想返回,你就写一个呃,Double啊,哎范的一个area,哎,这是求面积,一定要小心,这个不要有行参吧。对啊,人家属性都已经给了这个半径了啊,哎,你这呢就return。哎,可以写个3.14乘以readdius,哎,再乘以我们的readdius行,这样呢就可以了啊,至于说这块啊,这个我find这一块的话呢,写radius没问题,咱们在同一个类当中了,所以这直接调属性可以,或者说呢,你这个位置你不想写readdius,我写成叫get readdius可以吧。
12:15
是不是更可以啊啊,这个属性我都私有的,都可以直接调了,方法这块公共的蓝,这不更可以调吗?而且在方法里边我们说还可以调方法啊,所以完全没有问题啊啊只是说呢,你要这道这样非要去讲多一步,你调方法里边又返回一个半径,然后放在这儿,我这呢直接就写半径了,好像说差那一步似的是吧,但是其实从直径上效率上来讲差不了多少啊啊都算都算是这种常数级的一个,呃,一个复杂度了就啊行这呢是咱们这五道问题啊,大家的话呢,你看哪个题没有答好的,这个还得下来看一看相关的这个概念,前面呢,这四道问题呢,都是概念问题,咱们的写代码呢,就是一方面写代码,一方面呢,脑子里边得映射这些知识,出问题了以后呢,那就得需要这些知识呢,去给你解释说明了,那面向对象里边呢,呃,这里边的细节比较多,说了好几次了啊,这里边的些细节呢,还是需要大家去关注的啊。
我来说两句