00:00
那么讲完这个封装性以后呢,我们接着再看后边一个内容,这呢又回到我们面向对象的三条主线的第一条啊,叫类和类的成员,我们呢,提到第三个成员叫构造器,对,前面呢,我们已经讲了两个比较重要的结构属性和方法,那么在这个类的成员当中,它的成员呢,我们提过了有五个啊,最重要的呢有三个,前面两个讲完了,这呢就是最重要的第三个叫构造器,而且呢,我说啊,任何一个类都有构造器。啊,那这个呢,就更体现出来说,这个构造器看来应该还挺重要的啊,那我们就来谈一谈这个构造器是什么作用啊,以及呢,我们开发中该如何使用,那这的话呢,我就写在这个JAVA1这个里边了啊在这里边的话呢,不妨咱们还拿这个person来体会啊,天天呢就拿这个人来说事儿啊,具体练习呢,咱们再建其他的这个结构,哎,这个结构我们来说明一下,叫类的结构之三,叫构造器的使用。
01:07
好,这个咱们中文的话呢,翻译成构造器,或者呢,你看有一些书上呢,也会翻译成叫构造方法啊,那个英文的话呢,人家叫constructor,哎叫这样一个结构,哎叫constructor啊,那我们呢,打开一个类看一眼。刚才我也说了一句话了,说任何一个类呢都有构造器,那就随便找呗,找一个string,这我们用的比较多的string往下走,这呢叫field。就是我们所谓的属性,然后下面呢,有一个叫constructor,这就是我们所说的构造器,诶对,它就是构造器了,然后再往下这呢叫方法,哎,所以说你会看到我们对于一个类来讲,这个基本上呢,你看这三块如果要是稍微完整一点啊,属性啊,构造器啊,方法都会用,哎中间这块呢,就叫做构造器啊,那我们就得研究一下它到底什么用是吧,首先呢,我们先从这个英文这个单词处罚啊,哎,先聊一聊这个constructor呢,它其实算是一个某一个词给它这个这个变形出来的是吧,就是这个词吧,对这个construct构造建造,那加个or,通常英文里边都是什么意思啊,呃,人啊,比如或者叫visit,就是那个,比如你想去旅游啊,什么visit访问哪啊,Visitor就是这个顾客呀,什么这个游客啥的是吧,对。
02:45
通常呢,就加个O2呢,表示叫什么什么者什么什么的人,那你这个construct呢,叫构建构造,然后O2呢,那就是不是就建造者呀,不是他这这个词吧,这叫建设。
03:00
嗯,建造哎不是这个意思吧,然后它这个名词化的话呢,一个叫construction,这是这个名词,比如像这个中国建设银行啊,China construction bank。哎,中间用的这个就是construction是吧,然后这个咱们这个呢,是用的叫constructor,就是这个叫算叫建造者建设者,哎,就对应的这个这个这个主体是谁了,就成这个意思了啊啊那这里边你可能就比较感兴趣的是在这个类里边啊,它有一个结构叫做建设者构造者,那你就会想它到底想建设谁构造谁啊,那这里边我们需要构造建造的呢,是不是就是你这个类的对象啊。咱们一直说创建对象,这个创建其实就可以理解成就是建造构造的意思啊,所以这呢,下一个咱们重点要提的就是这个构造器的作用,哎构造器的作用,那构造器的作用呢,哎,明确提出来它呢就是用来创建对象。
04:08
啊,可能现在呢,你觉得很奇怪啊,创建对象以前我们自己造对象造的也挺嗨的是吧,都写了好几天了,那也没看着构造器啊,哎,其实呢,你不知不觉已经用起来了,哎,我们这儿声明一个class叫做person,在这个person当中,我们先提供几个基本的属性啊,比如说string形的内幕int性的age啊,暂时呢,我这没有体现所谓的这个封装性了啊。你要体验就都私有化一下,这呢,我先说是咱们这个构造器的使用,我就先不说这个封装性了,嗯,然后接下来你可以提供一些方法。哎,这个吃饭人吃饭啊,然后再来一个public avoid,来一个叫。
05:00
哎,人可以学习行这呢我就写了基本的啊,两个属性,两个方法啊就放到这儿了,然后我在另外这个测试类当中写个没方法,没方法呢,咱们第一天讲不讲对象说过,说第一步呢造个类,第二步呢造个对象,找对象上来呢就直接啊person p等于new一个person,然后PE直接调这个方法或者调属性,说这呢,就咱们体现的有了对象以后啊,第三步可以调它相关的功能。好,那第一个过程呢,咱们也已经也讲过一些了哈,然后咱们现在呢,来看这个第二个过程,第二个过程呢,叫创建类的对象。创建类的对象,那我创建这个对象呢,这个不这个这个代码呢,就是它,那这个代码呢,我们分析一下啊,Person类型的一个P,这个很好理解,前面呢,就是你变量的类型,这是变量的名啊,右边呢就是你造的这个对象啊,造的这个对象你看看这是new一个person。
06:10
哎,有没有人会想说这个这这这是个什么有的方法啊,有的人可能说这我用了一个类,你要用个类的话呢,你这块就不应该有括号了,这叫拗个类,这是类是吧,你有括号肯定它就不是个类了,它应该是个结构,但是这个结构的话呢,呃,有同学说是个方法是吧,你要说方法的话呢,似乎这个方法好像也没定义过是吧。哎,这个方法呢,而且还很特别,你会发现呢,你不会写其他的名字,你写个it,你写个study,你试试肯定报错是吧?哎,我这是一个什么类型,这块呢,就一定是什么类型,哎,所以它跟咱们这个类是同名的,哎把这个结构呢,带括号的这个结构咱们就称作叫构造器啊,这就是构造器。
07:02
所以呢,准确的说,你不能说叫new一个类了啊,实际实际上是new后边呢,咱们加了一个哎构造器。这就是咱们所说的,虽然说我们一直在创建对象,只是没有提他而已,但是你一直在用啊,那它的作用呢,就叫创建对象,那通过刚才这样的一个说明,大家似乎也看到了,就是我们没有定义类的构造器,是不是也有一个呀。哎,这就我们要说的第一个事情。说明的第一个事情就是如果没有显示的定义类的构造器的话啊。则系统默认提供一个空参的构造器,如果咱们没有显示的定义构造器,系统就提供一个默认空参的,咱们确实也没定义,哎,那他那就提供了一个空参的让我们用,那如果咱们要是定义的话,该怎么去写,这就是第二个定义构造器的格式,这个格式就叫权限修饰符,它也可以来修饰这个构造器啊,然后后边呢,就是呃,构造器皿,其实呢,就是类名。
08:22
因为咱们的构造器呢,叫与类同名啊,然后接下来一个小块,这呢仍然可以有行参列表。然后后边呢,就是你这个构造器的这个体了啊,就是这样的一个结构,那行了,咱们写一个啊,这儿呢叫属性。这个是方法,哎,在中间,比如在这写啊写构造器。哎,构造器,然后public,哎,这叫权限,暂时呢,我们先读public,然后后边呢叫与类同名,写个person形态列表先没有。
09:01
那就这样写。这就是最简单的一个构造器。嗯,那好像好像就是他是吧,对就相当于呢,原来咱们没写的时候呢,诶它提供的是这个默认的,然后我们这呢,只不过把这个默认的呢,给它显示的写出来了,哎就是这个意思啊,那我在这个呃默认的呃,我显示的写在这里边呢,咱们写写一个这个结构。我这样子一下。这样写完以后呢,你看我这时候我把这个光标放到person这,诶它也不变色啊,那我点一下吧,按住CTRL键点一下,你看它就跑到这来了,那说明这时候呢,掉的就是它,那我们再想验证一下,就是你运行。哎,运行你会发现呢,我们写的这个话呢,执行了,哎说明呢,确实掉的就是它。在我们执行这一行代码的时候呢,掉它了,就是调到咱们自己呢写的这个构造器,再次证明呢,诶咱们new对象的时候呢,用的都是构造器啊,就这样子,嗯,这个构造器啊,大家呢,其实这个这个有的可能会把它说认为是一种特殊的方法啊,包括有一些这个网上呢,你会看一些帖子也说说构造器呢,是一个特殊的方法,其实我倒不建议大家这样去理解了啊,就是或者你虽然说把它叫程啊,说叫构造方法,构造方法,但是你别把它误认为它是方法的一种,它跟咱们说的方法其实还是不一样的。
10:32
啊,为什么呢?首先格式不一样啊,当然这是次要的啊,主要呢,就是它们的功能是不一样的,哎,我们说的这个方法。到目前为止,咱们都是,是不是你有了对象以后,通过对象去调的这个东西叫方法呀,哎,这叫方法,那我们构造器呢,是不是来造这个东西来对,是来造这个对象的方法的话呢,通常咱们可以都理解为是一个功能的封装,咱们呢,是通过对象呢来调这个功能,到后边咱们还会讲调static static修饰个方法呢,还可以通过类去调,它都是体现的是一个功能,然后我们去想调这个功能,那这个呃,构造器的话呢,它主要是来造我们这个对象的。
11:17
啊,相当于呢,从我们第一天讲课的角度来说,当我们啊第一步是声明一个类了,啊第二步呢,我们叫造对象,这个时候呢是用不到期,第三步呢,是通过对象呢去调方法,这个时候呢是用的是方法,它是在两个不同的环节出现的。啊,就是尽量呢,你别把这个构造方法就说这个误认为是方法的一种了,就啊构造器是构造器,方法呢是方法,你从我们这个API里边也能看到,人家呢叫constructor,下边呢叫method,咱俩是俩并列的结构啊,是这样的啊哎,构造器你就知道它是一个独立的结构就可以了啊行,那么我们这个先是对这个构造器的基本这个点呢,做了一个清晰的一个描述啊知道呢,咱们造个对象实际上用的呢是构造器啊。
我来说两句