00:02
呃,行吧,这个例子咱就说到这儿吧,咱们再往下的话,这个内存图,嗯。这个内存图咱就先不看了,各位啊,先不看了,这个内存图下来之后你自己,呃。先画一下啊,先画一下。先换一下啊。然后看看能不能画出来好吧。那咱们接下来看新东西,各位啊,看新东西。来。注意啊,我们把这个文档打开啊。啊,把这个PDF打开。好,就先别停留在那道题上面了,各位啊,这题是有一定难度的啊,那么再往下的话,咱们看一下这个新的内容,看看什么内容啊,方法这一块。啊,我们已经说完了方法执行过程的一个内存变化,是不是,那再往下呢,就是关于一个方法的重载方法递归,我们看一下方法重载。
01:09
行吧,方法重载啊。嗯。来我们点右键啊,我们新建一个文件。我们叫overload overload啊TEST01是这样,首先啊,我们这个方法的基础语法是学完了,那么再往下的话是关于这个叫什么方法重载机制啊,方法重载机制。首先我是这样安排的,各位啊,这个例子呢,我就先不给大家讲这个方法重载这个机制,就以下程序不使用方法重载机制,你分析这个程序有什么样的,呃,这个缺点吧,就是分析啊分析下程序。就是以下程序啊,这样吧,以下程序先不使用,先不使用啊什么呢?不使用这个方法重载机制啊,先不使用方法重载机制。
02:03
分析程序的缺点。啊,一会儿呢,我找同学呢,给我回答一下啊,一会儿找同学回答一下,你先注意听课啊,就咱们讲新东西是方法重载上来是这个,那么现在我这段程序啊,往下写的时候,我先不用重载的这种机制。然后接下来你分析一下,我这样去写这个代码,你觉得有什么样的缺点啊,一会儿找同学回答一下好吧。来public class啊,我们就叫做overload test1,然后呢,接下来我们在这儿呢,写一个public static VO啊。然后我们来看一下。在这是一个主方法,就没得说是一个入口是吧,然后接下来我定义一个计算int类型数据的。求和方法。定义一个计算int类型数据的求和方法,那我应该怎么定义啊,Public static是不是?哎,然后int吧,是不是叫some int,假如说起个名啊A啊,In类型B行不行?哎,那这样的话也什么呀,A加B对不对,A加B,那么接下来呢,我再干什么呢?我定义一个计算浪类型数据的求和方法。
03:20
哎,Public static in,呃,返回long类型对吧,你个NG啊,NG那类型的A和long类型的B,然后接下来怎么着啊,哎,Return一个什么呀,A加上B。那么再往下呢,我再来一个,我说定义一个什么呀,定义一个计算double类型数据的呃,求和方法,那么这块呢,我们public static,然后返回double类型some double,然后接下来我们解一个什么叫做double a,然后BA,然后接下来return是什么呀,加上BA。啊,这样去写,那现在呢,我这几个方法能不能用呢?我们来看一下啊system.out.print line啊打印我们输入什么呢?输入我们的some in行吧,来这个some in吗?先先先先先不这么写了啊来好好写吧,Some in来十逗号20行不行,哎,返回一个int吧,哎,结果吧,那在这个int结果是不是输出就行了。
04:20
system.out.printline打印我们输出X的值是不是,然后接下来呢,我们调一下下边这个方法,下边个方法呢,反回去是long类型,所以这块呢,假如说是long类型Y呢,等于什么呀?Long是不是long啊,然后呢,10L加上去20L,然后接下来system.out。点print打印,我们输出什么呢?输出我们的。哎,这个叫做这个Y的值啊,然后接下来呢,我们调了这个方法对应的是它调我们下边这个方法对应的是它调这个这个方法来看看。啊,Some double是double z呗,啊,因为它最后算完是double类型啊Z变量等于什么呢?就some double呗,然后接下来把这个叫做十点十点零对吧,还有20.0给它放进去,然后接下来system.out.print line打印输出Z的值,那我们先来看这个程序啊,我是把方法我定义出来了,然后接下来呢,我在这个地方干什么呀?哎,我去分别调用方法,调用方法调用方法,然后将计算结果给它输出了是不是?哎,那么接下来我们来Java c呢,去编译一下overload的test01.java啊然后呢,我们Java去运行overload test01走。
05:37
好,大家看最后的结果也很正常,三十三十三十点零就是这个程序啊,也没问题对吧,哎,也没问题。就是说我这个程序啊,它没有用方法重载的这个机制,一会儿我给大家讲什么叫方法重载啊,一会儿再讲,就先来一个体验版的程序,那么大家分析一下我们这个程序它存在的一个缺点是什么,就以下程序可以运行啊,没问题,没有语法错误也可以运行啊,以下程序没有语法错误啊,运行也是正常的啊,你就分析一下什么呢?代码风格存在什么缺陷,什么缺点。
06:20
啊,就是什么缺点就行了。嗯,好了,那个谁我看看啊。咱们找一个同学啊。嗯,贵军吧,贵军在的话打个一来。贵军在吗?好啊,贵军你来说一下吧,你来说一下这个程序它的代码风格上,呃,有有什么缺点,能说一下不?重复啰嗦。重复啰嗦。嗯。一直创建同样的方法。
07:03
这三个方法有有有存在的意义啊。有存在的意义啊,各位。你比如说这是算double的,这是算long的,这是算int的呀。每个方法的作用都是一样的。都是一样的功能,但是要写多个方法。有类似的东西。功能一样,功能不一样啊,我这个是算double的,我这是算的呀,我这算int的不一样啊。是这样的,同学们啊,我来说一下这个程序的一个缺点啊,缺点有两个。缺点包括两个啊,第一个。呃,大家看啊,这三个方法不是功能相同啊,是功能相似。
08:05
只能说是相似啊。就是说。Summer long。然后some double呢?不是功能相同啊。是功能相似。是功能相似,不是功能相同。是相似。啊,他们虽然都是求和,但是具体参加求和的这个数据啊,类型不一样,所以我们说功能不同啊,功能是不同的啊,但是功能是相似的。那么这样去写这个代码,我分别起这个名字,起了三个名字有什么,有什么缺点,我起了三个不同的名字,有什么样的缺点,就是说。三个。方法功能不同,但是相似。
09:01
分别起了三个不同的名字。有什么缺点啊,缺点第一个就是代码不美观啊,就是不好看。不好看啊,不好看,当然这是次要的啊,这是次要的。是。你写完这个方法,是不是别人要去调你这个方法?对不对,你写完这个方法,是不是别人要去调你这个方法呀。是不是别人调你这个方法对不对。哎,所以程序员需要记几个方法名啊。三个方法名是不是?哎,程序员啊,需要记忆更多的什么方法名称?啊,程轩比较累。啊,我很累,你知道吧,我很累啊,就这意思啊,代码不美观,不整齐,不好看,不整齐。
10:05
啊,当然这是次要的,第二个就是程序员需要记忆更多的方案名称,程序员比较累。有没有什么办法可以解决这两个问题的?哎,在这种环境下,在Java语言当中诞生了一种机制,叫做方法重载机制。啊,我接下来给大家演示一下这个方法重载机制好吧。
我来说两句