00:00
那么接下来呢,我自己啊,嗯,给大家写一个,写一个程序啊写一个程序,然后呢,呃,这个程序呢,嗯,我来用一下什么呀,用一下这个,呃,方法重载行吧,啊用方法重载给大家,呃,写一个东西,然后呢,咱们以后啊开发可能会更轻松一些啊,更轻松一些,就不用天天写这个system.out.print烂了,对吧,我们天天写这个也挺费劲,你看这个代码多长啊,是不是太长了,是不是我们能不能自已写一个呢?利用我们方法重载这个机制。能不能啊,同学们啊,我们自己写一个行不行?可以吧?有同学听懂,有同学没有听懂啊,哎,咱们来点好玩的好吧,好玩的啊,来点右键,咱们新建一个什么呢?咱们新建一个文件啊,这个文件我们叫s.Java就叫s.Java啊。对,然后呢,非常之简单啊,Public class对吧,然后紧接着呢,在这块呢,我们有一个什么呢?哎,有一个这个方法啊,Public static void print LN啊,我们提供这样一个方法啊,这是一个换行的方法。
01:14
是不是,哎换行,那么system.out底层我们调一下这个方法。行不行,哎,然后呢,我们有输出BAT对吧?哎,我们多提供几个啊,那这个方法名咱们简单点吧,叫P吧,行不行。P啊,这个类叫S啊,这个方面叫P啊来那么这边的输出bit short。印他。Float。Double bulling char行不行?哎,还有一个什么呀,砖,那这样的话,我把这些方法都封装一下行不行?哎,我写多个方法啊,Part vo1叫P啊,这个方法呢,是专门输出BAT的BAT啊,然后system.out.printline打印输出什么呀?哎,我们输出B,好,然后接下来我们这块同样一样,哎,Public static void啊有同学说老师你在干啥,你在干啥我不太懂哎,我写完你就懂了啊来system.out.printline打印输出这个S,然后呢,Public static void,哎,发个名也叫P啊,然后接下来哎,Int类型,哎然后接下来system.out.print打印输入什么呀?哎哎,然后在这呢,输出这个long public static void对吧?诶发名也叫P啊,然后呢,参数什么什么参数的long类型啊,Long类型,然后s.out打印输出什么呀?哎,L然后接下来呢?
02:44
我们public sta void print啊,然后P对吧?Flow参数F,然后system.out.print line,哎,我们打印输出来F,然后呢,Public static void对不对,还是方法名叫P啊,然后呢,参数类型是double,接下来我们在这system.out点打印输出什么样?哎,输出这个D啊,然后呢,输出不尔类型的话呢,就public static void p,然后接下来参数类型是什么类型啊,不尔类型行不行?哎,不尔类型,然后呢,我们直接在这system.out点打印,我们输出什么呀?哎,输出这个B,然后呢,输出叉的话,Public static VO p啊,参数类型时差类型,然后system.out system.out.print打印我们输出这个C,然后呢,再来一个public static VO p,然后参数类型是string啊,String类型,那么接下来我们system.out.line打印输出这个S,那这样的话,大家想一想,我一旦写了这么一个类啊,我写了这样一个类,我提供了这么。
03:44
方法,那么以后我们是不是开发就方便了,我们是再也不用这样写了,再也不用写那个什么点了,对吧,怎么做以后啊,我们先把这个译一下Java。我们先Java c呢去编一下s.Java。好了,各位大家看,生成了一个s.class文件,对不对?哎,你只要把这个s.class拷到你的U盘里边,拷拷到你的移动硬盘里边,天天带着就行了。
04:08
你天天带着他。你把这个s.Java编译生成s.class生成了class文件,那么接下来你你写hello word,怎么写hello word,你看你怎么写hello word,各位hello word。Hello word怎么写就跟以前就不一样了吧,你可以怎么写啊?哎,你看hello word就变成这样了啊,Public class hello word,哎,然后接下来public static void men,然后接下来我们在这儿,哎,还记不得第一天我们写这个程序,system.out.print打印输出一个什么,哎,Hello word是不是?哎,我们去编译这个程序,去运行来,我们打开,然后接下来加C编译hello word,然后编译之后的Java去运行hello,哎,Word,然后把它直接运行一下,输入hello word,那以后我们写代码再也不用这么写了。我们这么写干嘛呀,对吧,哎,我们这么s.P就行了嘛,是不是,哎输出一个什么呀,哎hello,哎word这不就完事了嘛,对吧,你看我我封装这个这个这个东西这多简单是不是s.P呗。
05:10
对吧,那这样的话,大家看这个程序,再去Java c编译,再去运行,大家看诶,Hello word这个是大写的对不对,哎,就输出了,诶你看以后我们再也不用写c out这么长的代码了,对不对,以后你要打印东西,你天天怎么做呀?诶s.P就完事儿啊这跟个100行不行,可以s.P诶打印什么呀?哎一个字符行不行呀,哎字符A对吧,s.P对吧?哎,然后接下来在这呢,哎写上什么呢?写上那个,比如说哎true啊,False啊是不是,哎你看能不能输出。你看s.P对吧,哎,写上100加上什么呀,哎,200是不是,哎s.P对吧,十除以三,哎,你看行不行。对吧,哎,我们来把这个编译一下Java Java。是不是都可以输出啊。对吧,哎,以后我们不用写这么长了,我们写这个就完事了。
06:03
这个能不能理解?卡了。能。行。剩下的同学不说话,那就是不。那个S类要和相应的类放在一起,那当然了,得放在一起。哦,理解,有同学可能不太理解。
07:01
有的懵了,说,老师咋回事儿?来,我问一个问题啊。来,大家注意往这看啊,注意听课,现在我建了个文件叫teacher Java啊teacher Java public class t,然后呢,我在这里呢,写的man,然后接下来大家注意听课啊,我在这个位置有个class t。然后这里有个方法叫public static VO do some啊然后呢,system.out.print打印输出输入什么呀,输出do some。Do something啊,好,就这样。那么接下来我在这里能不能调用调用TT?的都少吗?能调吗?各位在这儿能不能调?就这是不是一个类,这是不是一个方法,我现在在这个类当中,我的问方法去调用你这个类里面这个方法,这怎么写,各位是不是TT点什么do sum好,在座的各位这个理解不理解,来我们我们编译一下Java c编译一下谁t.Java然后Java运行T。
08:13
Do something是不是执行了?好,各位这个能不能理解。这个不理解的打个零,不理解的打个零啊,不理解的打个零。这个不理解的打个零。就是说。现在我们这个是怎么回事,这个。这还是我们之前的嘛,对吧,这是一个方法的调用嘛,我们要进这个public study有这样个方法,我们要调这个方法的话,是不是使用类名去调啊。好,不理解的打个零,没有人打零的,就是理解是吧,好各位,那我问大家,我现在把这个类不写到这儿了。
09:00
我在这个位置上单独又建了一个文件叫,哎呀,建错了。我听清楚啊,我不在这个里里面写这个class了啊,我在外边儿单独再建一个叫什么。叫TT的点Java,我在这个文件里边我写上。这个类。那请同学们告诉我。我现在这个程序是不是也能运行。就现在这段代码。我是不是单独拿出来放到了另外一个文件里边。对吧。我原先在这儿能掉啊。用TT这个类调到杜萨吗?
10:00
现在我这个类的写法,我换了一个文件,我问大家这个文件编译之后,它生成不生成 Tt.class。一样的道理啊。一样的道理,来,我们来看一下这儿啊,现在没有class文件,各位。编译一下Java c编译一下tt.javatt.java编译之后它生成的是不是 Tt.class。对吧,然后Java c去编一下t.Java好,大家看t.Java生成的是不是t.class运行的是不是,这两个跟下面这个Java文件没关系,大家还记不记得我们在最早最早之前就给大家讲过一句话叫什么。我们的程序写完之后,Java源代码是可以点右键删除的。对不对,可以,能不能删除。运行的是什么?运行的是不是我们的class文件啊,运行的时候和我们的Java文件有没有关系?没有啊,是靠着class文件运行的。
11:01
啊,所以说你把两个class写到一个文件里边,或者说你把两个class分成两个文件,这样都一样,你两个class写到一个文件里边,它编译也是生成。几个两个。你放到一个文件里边编译生成的是什么呀?哎,也是两个class,你要是不放到一个文件里边,你把这两个class分开去写,那么写到这儿,它是不是照常还是生成一个class。一样的道理啊。那现在呢,大家再看一看我们这个s.Java和这个hello,他俩的关系。我单独把它把它俩拿出来,各位啊,我就给它放到桌面上,好放着放着看着啊s.Java我们打开大家看这是不是一个只是一个普通的类,这个类里边是不是有很多P方法。P方法吧,是名都叫P呀,这些方法重载了没有,方法名一样不一样,一样对不对?参数列表一样吗?参数列表是不是不一样,所以在这个类当中,这些方法是不是构成了方法重载啊。
12:08
哎,那我们知道有个P方法,然后参数呢,可以跟任意类型的参数。那么既然这个类我写到这个文件里边了,那请同学们告诉我在hello里能不能用这个S。这个S是不是就是那个类,这个P是不是就是那个方法,这个参数是不是就是那个参数。这个大家理解吧。哎呀,如果你要理解不了啊。我这么说你就理解了,看啊,我总有办法的,这样吧,咱们hello word和S点加法,咱别分开一个文件行吗?把这个S点加法删掉行不行,把这个文件删掉。删掉之后呢,我把这个代码复制一份。
13:02
我把这个代码放到hello word里边行不行?各位,我现在在这个地方写个hello word在这个地方写个class,然后这个里边能不能去调用这个类的这个方法,好,这个类是不是在这儿,能不能调这个方法。能不能调s.P吗?这不S吗P吗?P是不是P,你看s.P。只不过就是说我现在没把这个class写到这儿,我是不是把这个class单独拿出来放到外边了。单独一个class吧。那当然当然了,同学怎么懵了呢?S是,是在哪呀?Class后边是个啥家辉?Class后边是啥呀,佳慧。啊。是类我。P是个啥?是个方法名不?是不是一个方法名,是不是类名?
14:05
那这边能不能调这个类的这个方法。这个类的这个方法呀。这个类的这个方法吗。这个类的这个方法就这意思,这点后边是个方法名,这是个类名啊。哎,家辉,我问问你啊,这个S点能能去不能。先回回回回答一下,这个S点能不能去掉。直接写个P行吗?我说过什么时候类名可以省?佳慧类名什么时候可以省类名点?调方法都忘了。咱们一。调方法怎么调啊?同学们,什么时候类名点可以省?我之前让你让大家背,什么时候类名点可以省?
15:07
家辉,我说一下,这不行啊。这不能省,这个不行,这个不能省。这个不能省啊。完咱们调方法还会吗,各位?调方法会吗?会调方法吗?我的天呐,掉方法不会了,我这里有个方法,Public static void,呵呵。我在这写,呵呵啊,来调用,呵呵,方法怎么调怎么调各位类名叫hello word对吗?
16:02
是不是点类名点后面跟,呵呵。是不是,哎,那我问你这个闷方法和这个,呵呵,有没有在同一个类里边。那类名点能不能省直接,呵呵,行不行?我之前讲过嘛。这个可以吧,这个类名点可以省吧。没问题啊。Java c编译,Hello word.java Java运行。呵呵,没出来看看啊,CHAPTER07。嗯。再来一次Java c编译,Hello word.java。
17:04
Java运行hello word。哎哟。保存了吗?关掉,全部关掉。啊。关掉。关掉。哦,我刚才改在这儿了。我说你不起作用。不好意思啊。替换。听话啊。然后这块呢,我再把这个打开。然后呢,我再去啊。吧。
18:01
是不是,哎,那这个呵呵就输出了。你如果说你这个方法去调,你另外这个方法,如果你这两个方法在同一个类,不说类名点可以省吗。但是你S点为啥不能省啊。这个S点为啥不能少,为啥不能直接P呀,直接P是不是会去这个类里边找找这个P呀。对,S是另一个类啊,S是另一个类,这个S是另一个类。这不是类名吗?点儿后边不是方法名吗?这是方法名,方法名叫做P吗?前面有个类名吗?这个类名能不能省啊?如果省掉的话,这个方法是不是就相当于是在本类里边。本类hello word里边有P方法吗?来编译一下,报错吧,找不到符号吧。
19:03
是不是找不到符号,第四行是不是找不到符号错。第四行这个位置找不到符号,没有P呀。没有P呀,S有P吗?S有P明白吧,所以你这块呢,你得加一个S点才行。S是一个类吗?可能是因为我这个方法名类名起的太简单了,你有点儿接受不了是不是?是不是我这个类名和方法名起的太简单了?然后你就招架不住了是不是。编译一下运行。可以吗?
20:10
好嘞。好嘞,好嘞。好的好的好的。就是说我们会,我们学的东西越来越多了,各位啊,我们学的东西越来越多了,那你是否能够理解这个东西啊,是否能够理解这个东西。我们今天到现在为止讲的是什么?我再强调一下啊,是方法的重载,我想给大家演示一个方法的重载来,各位看好了,这个是不是方法的重载?这是一个类不,这个方法名一样不?方法名都一样对吧。所以这几个方法有没有构成重载?这几个方法是不是都是为了往控制台输出?输出东西对吧。哎,所以说以下的所有P方法构成了方法重载啊以下。
21:03
以下所有的。P方法。构成了方法的重载。啊,构成了方法重载。以下所有的P方法啊,方法名一样啊,参数列表不同啊,没有参数,有一个BY,一个short,一个in,一个long float double对吧?哎,Booing差,还有字符串也支持。是不是?哎,三万变不离其宗,各位我们在讲啥?目前我们正在学习的一个内容是方法重载机制,叫做overload。Overload啊,重载重载方法重载。方法重载啊,这些方法都重载你看。是不是好,各位各位,我问大家一个问题啊。
22:00
现在写在别的文件夹中都行了,不行。不行啊不行,还没达到那个五中,还没达到那个级别啊,还没达到那个级别,没讲到没讲啊,这个s.class我我我发给大家应该能发吗。加载失败,请刷新,发不了是吧,能发文件吗?这个。这样吧,我就问大家一个问题吧,大家是不是根本就不需要我这个s.Java我只要把这个s.class文件发给你,你把这个s.class放到你的电脑上,你是不是就可以用?你是不是可以用s.P了?同学们,收到的话打个一,收到的话打个一。就是说你现在是不是只要把我电脑上那个s.class文件,这个这个自建把文件拷走,拷到你U盘里边,然后你是不是就可以一直用s.P了。对吧?哎,你就一直可以用s.P这个方法,以后我不说了吗?这样写方便吗?你老是写C那么点out.print你看多长啊这代码。
23:01
是不是这?这个过程,杜老师今天讲的这个东西算不算一个小包装?就是在原先人家散公司那些大牛们写的代码基础之上,我自己在外边又怎么着又包了一层,对吗?我是不是自己又包装了一层啊,好,这是不是一种封装。你看里边咱说到底了,P方法最后执行的还是什么,还是这个对吗。还是说白了,最后是杜老师写的吗?最后搞了半天括号,大括号里边写的代码是不是还是人家算公司那些牛人写的程序,咱们是不是在外边只是包装了一层啊?这,这不是封装啊,这不叫封装,这叫包装啊,这叫包装,简单的一个包装啊。包装之后呢,我们以后用我们自己包装的东西吗。皮毛公司就是说我们底层,我再强调一下,大家看看我一其实一点功劳都没有,真正的功劳是谁?真正的功劳还是人家c.out.print只不过我在system.out.print外边了张皮,然后大家呢?诶,以后访问这个system.out.print要想执行这行代码,你就调我这个方法,这样的话走的是我外边这层皮嘛。
24:14
是不是,那这样的话,我我就相对简单了一些啊,相对简单,这就是一种,这就是一种非常典型的一种封装嘛,但是你要记住啊,真正说把东西输出到这个控制台上面,能把信息给他,呵呵,显示出来的,那这不是我做的事啊,是人家system.out.printline这个方法打印输出所决定的。啊。对对对对,这个print LN就是方法的重载。对,这个print LN就是方重载,现在这个P也重载了。PPP这P也是重载的,在同一个类里面吗?方法名相同吗?参数列表怎么着不同吗?所以说大家要理解这个什么皮包公司啊,就是外。包对吧,哎,包一层就完事了。
25:00
啊,包一层就完事了啊包一层。对,那但是你要记住底层,嗯,那不是我做的底层还是system out,你是不是感觉很搞笑是不是,但是这种方式的好处是什么呢?就是说诶,你用我这个啊,二次包装的这个东西啊,以后开发呀,可能代码写的会相对少一些啊s.P嘛,这种方式s.P是不是s.P你看。对不对,哎,这样这样写这样写啊。哎哟喂,来来来来来来来演示一下演示一下啊,这里是不是有Java文件对不对,哎,大家看是不是就两个class来我们新建一个文件啊,我们叫new folder。新文件夹啊,我们粘贴一下放到这外边是不是没有class是不是new fo啊来走。我们在这个文件里面是不是只有两个class?
26:00
对吧,来我们Java运行一下。Java运行一下啊,Java运行hello word走。这被执行了吗?没问题啊,联动收到的话打个一来。和Java文件没关系啊。和Java文件是没有半毛钱关系的啊,它运行只靠class和Java文件是没关系的。和这些文件没关系。啊。行,需不需要给大家时间缓一缓,是不是还没缓过来气儿,还不知道杜老师在讲什么是吧?懵了一下,一下懵逼了哈,状态我看好像一下懵了。就不知道杜老师在讲啥了啊,就一下就换一种方式就算妥了啊,这就是现在咱们大家这个小白啊,现在就是比较脆弱的一个时期啊,就是稍微换一个方式啊,你就满脸懵逼的样子啊,然后就完事了啊,最后就over了over了。
我来说两句