00:01
那行,那昨天咱们这个作业我觉得得处理一下,各位啊,得处理一下这个作业。来点右键,我们在这先新建一个我们叫DAY24的一个课堂笔记。24。课堂笔记第一个啊,就是解决啊昨天的两个作业题。第一题对吧,哎,数组模拟什么呀,站第二题啊,就是酒店管理系统的。模拟是吧,哎,这两个作业题咱们给他看一看啊,怎么去写。哎,这工具打开。
01:06
来。还是这个章节啊,然后这块的话,我们就在ray这个包下,我们建个子包呗,对吧,Out insert用上快捷键啊,Package。Package,我们叫homework。啊,又建了个子包,你看子包啊,Com BG note加y z away homework对吧?那么homework这块的话,首先第一个我们要模拟这个站是不是,哎,来out insert。来在这啊out加insert,我们直接呢,加一个什么呀,我们叫做class。这个类呢,我们叫stack。好吧,The my啊。来ctrl shift f12各位啊,那么这块呢,这个题目是怎么要求的,我们把之前的这个要求啊,叫23的一个作业,把这个拿过来。
02:08
编写程序使用一维数组。是不是模拟站数据结构站可以存储Java中任何类型,引用类型,在站中提供push方法,在站中提供pop方法,是不是?哎,编写程序new战对象调用push和pop方法来模拟压站谈战的动作,是不是啊,那这块的这个。这个程序怎么设计,我觉得你要对这个站数据结构有一定的来认识啊,之前其实我们已经怎么着啊,讲过这种什么呀,站数据结构了啊,这种这是一种数据结构啊来诶卡住了。哎,这是一个站,我们把上面这个怎么着呢,给它去掉。啊,这个叫做stack站啊站是不是,你想想压战是什么意思啊,还记得吗?压站就是说外边有个元素呗,这个元素进去呗,就这意思吧。
03:03
是不是,哎进去啊,进去之后呢,就在这有了呗。对吧?哎,那大家想一想,进去第一个元素的时候,这第一个元素是不是就处在占顶部。这不第一个元素吗?是不是他说什么呀,他说这个可以存储Java中任何引用数据类,引用类型的数据,就是说那如果是这样的话,那你这个数组是不是应该用object数组啊。就这个现在是一个组。Object数组。嗯。理解什么意思吗?就整个这个站,我们采用的是一个数组。啊。你看这是第一个元素。是吧,哎,第二个元素的位置,第三个元素的位置。那这个数组假这个123LES对吧?哎,数组的Les是几呀,是三,假如说13啊13,那也就是最多存几个呀,存三个元素。
04:06
对不对,那存第一个元素的时候,它下边是几啊,这不零吗。它的下标到这儿就变成一了呀。对吧,到这是不是啊。是吧,哎,012012就满了。我们应该有一个什么机制?各位,应该有个战争机制吧,战争永远指向什么?战争各位啊。一个叫战争的东西,对吧,永远需要指向什么?需要指向。占顶部的元素吧。是不是好各位,那我问大家加第一个元素的时候,这个元素和这个元素还没有的时候。战争。指向占顶部的元素,是不是就指向下标为零的那个元素啊。你往里边再加一个元素的话,我问你,你这个战针要不要再加一。
05:03
为什么?因为你现在这个战争原先指向这,你再加个元素就指向这儿了呀,指向这儿的话,下边是一啊。你原先下边不是零吗。哎,所以说你战争啊,需要加一。战针指向站顶部的元素。对吧,那什么时候我们就不能再加了,你比如再加一个元素对吧,这个战争变成几啊二。指向下边为二的这个元素。对不对,什么时候就不能再往里边加了,各位。这个时候就不能再往里边加了。对吧。啊。行,各位啊。你是怎么判断的?或者是咱们先写也行,来写一下,尝试写一下啊。Object。
06:01
我们就叫做elements。因为你占中的元素存到这个数组里边吗?对吧,就是像什么呀,像站当中存储元素。啊,我们这里使用一维数组模拟。存到站中。就表示存储到哪儿啊,数组中往这个站里边放,实际上就是放到这个数组里边,因为数组正好是个容器呀,对吧,因为数组是我们学习的,学习Java的第一个容器呀。对吧,所以说你应该能想象到,这应该是有一个数组,那为什么选择object类型数组啊,为什么选择object类型数组。因为。
07:00
这个站可以存储Java中任何引用类型的数据。你明白吗?你比如说你有一个能放进去吗?能放到这个里边吗。你有一个animal对象可以放进去吧?是不是,哎,我们拗一个person对象也可以放进去啊。对不对,因为什么呀,因为animal和person。Animal和person的超级负类就是谁?对不对,这样的话就相当于你说这个object数组就可以存任何东西。能存字符串吗?这个里边。能不能存字符串,包括什么呀,也可以怎么着,哎,存储进去吧。
08:06
是不是啊,也可以,因为string怎么着啊,哎,负类也是谁呀,Object。啊。注意啊,搜索怎么搜各位啊,这个搜索框怎么出来的,敲两次shift。敲两次啊。Shift键敲两次。就出来就搜索了,搜索class。你搜一下。你看这这个地方是不是有个Java long string啊,点过去。看一看它现在是不是只实现了这个接口,这个接口这个接口啊,好一个类实现接口,同时它默认继承谁object。对不对,他的他的老祖宗是object。明白吧,所以你创建个object数组啊,字符串也可以往里面存。都可以存。啊,都可以存。
09:00
来。那么这一块呢,其实我们也可以演示一下。Class t113。在这里呢,有一个class。比如说这个class呢,我们叫什么呢,叫做。Husband。我们再来一个class,叫。丈夫和妻子。那现在我们在这里给一个object数组。那我这个里边能不能拗一个husband进去放进去啊。我能不能用一个外放进去啊,我能不能放一个字符串进进去。都可以吧。是不是都可以啊,因为你husband它的父类是谁呀,Object吧,你的wife父类是谁呀,是不是也是object呀,对吧?哎,那你这个字符串呢,它的父类是不是也是。
10:04
Object。对吧,哎,类也是object啊,也是object。字符串也是个加号对象啊。就双引号括起来ABC字符串啊,也是Java对象属于什么呀,String类型。编辑器没报错呀,你看。是不是,哎,编译器没报错,这个是个万能的口袋,就相当于是这个万能的口袋里边什么都能放。Object。如果你这写一个外妥了。对吧,你看这个程序就不允许了,不允许往里边放什么呀,丈夫也不允许放字符串,你这个字符串和丈夫,你跟人家要求是妻子呀,你这里边只能存妻子,或者说你要是写一个string的话,就表示你只能存啥,你看应该又报错了,你只能存字符串,这个wife和husband你就存不了,对吧?或者说你写一个husband,哎,就表示你只能存一个husband,别的wife ABC不能存,你要想这个存进,这个存进这个也存进去的话,那你这设置成什么object对吧?那你这样的话,我就相当于这是个万能的口袋,这个口袋里边啥东西都能放,因为house的父亲是object wife,他的父亲也是object ABC字符串这个对象,这个对象是string类型,String也是谁呀,Object。
11:25
明白什么意思啊,Object,这是个万能的口袋啊,Object中括号,这是一个万能的口袋,这个口袋中可以装任何。引用数据类型的数据。啊,这是个对象啊。有老师对象不是该new吗?记住,字符串比较特殊。字符串用双引号括起来就是个对象。注意啊,注意双引号ABC。
12:01
这是一个字符串对象。字符串在Java中有优待。在Java中有优待。啊,不需要牛。也是一个对象,明白吧,它不需要new也是个对象,它是个对象啊,字符串因为使用太多了,所以呢,这块他字符串不用拗,当然雨桐老师我就喜欢拗,我就喜欢拗,我就喜欢扭,你管管管管管得着吗?没问题,没问题,对吧,你要这么干,那我也没意见,是不是,你想拗也行。对吧,但是你这何必呢,对不对,哎,你直接拗啥呀,你直接把这个CTRLC是吧,CTRLV拿过来直接放,这不就妥了吗?对不对啊。对吧,这也是个字符串对象,这也是个字符串对象啊,他们都是引用数据类型,因为is前面的string呢,你管点过去看看这个string它是不是一个类啊,Class吧,它是个class,它是引用数据类型。
13:04
Java中一共就两种数据类型。除了那八个,剩下都是引音数据类型吗?我不是之前给大家讲过吗?Bit short in long flow double char,这八个是基本数据类型,剩下的你只要是在家中见到的,只要你在见到的,那都是什么呀?叫做引用数据类型。引用数据也行啊,你不要多想,这个和int I等于十是一个道理,十是个数字,I是个变量名,这是个类型,String是个类型,S是什么变量名后边这是什么?这是个数据。对吧,一个道理啊,一个道理,别多想,别多想啊,你跟这个也一样,这是个对象啊,上面这是个对象,六出来了,下边这也是个对象,这是个字符串对象,这也是个字符串对象。明白吧,但是这个就不叫对象了啊,因为你属于基本数据类型,这是一个数值。自变量是不是,哎,自变量对这是个对象啊,这也是个对象。对象的内存地址付给S吗?这个对象也有内存地址付给谁呀S?
14:03
S里边保存的并不是这个啊,实际上各位如果你你往下跟踪的话,哎,学到底的话,你说S里边其实存的并不是它。S里边实际上存储的是一个对象的内存地址,而这个内存地址指向了堆应内存当中的,哎,字符串对象啊,当然也有可能在方法区域当中啊等等等等,这个后期我们讲钝的时候会详细讲。这里呢,我们先简单这样去认为就可以了啊,认为可以了。好。
我来说两句