作业可以抄 代码就不要抄了

java零基础入门-面向对象篇(五) 类和对象 (下)

这次我们来详细说一下方法。

方法的使用场景

我们写代码为什么要方法?从上往下,像写文章一样去写不就好了,先干啥,后干啥,很好嘛,为什么要用方法呢?

首先,我们看代码和看文章是有些共同点的,比如文章很大一个特点是没有重复的。如果有篇文章,第一段“今天天气真好,阳光明媚,同学们都在操场上玩耍 ......”,好了,第二段开始 “今天天气真好,阳光明媚,同学们都在操场上玩耍 ......”,第三段开始“今天天气真好,阳光明媚,同学们都在操场上玩耍 ......”,你是不是很想跟作者见个面,嘘寒问暖一番?

我们的代码也一定要避免重复,如果一段代码里面,充斥着重复的相同的代码,会让人像看一篇重复的文章一样,索然无味甚至让人想跟你这个作者进行身体上的交流。在这方面,有些公司甚至是有硬性的规定的,一个类不允许超过多少行,一个方法不允许超过多少行,超过的部分想办法抽出来做成方法。有些复杂的逻辑也要尽量抽出来做成方法,这样代码的可读性会非常好。

所以我们的方法一般是用在

1 重复的代码    2 复杂的逻辑

这两种情况最多,当然还有一些特定的情况,比如对实体类做封装会有get,set方法之类的,在详细的介绍封装的时候会说。现在来看看什么叫重复的情况和复杂的逻辑。

假设现在你被某平台招聘成了程序员,让你负责写一个页面,像下面这张图一样,你会怎么写?拿到需求首先就是把业务模型抽象出来,java工程都是由类组成,你如何设计一个类来完成需求?


功能分析

注:真实项目不会这样设计,这里只是作为教学,学习知识的使用方法,没有考虑一些标准,规则,请注意。

这次代码有点长,我将主方法与类分开来写。

体力劳动

建议每个同学把上面的代码敲一遍,感受一下什么叫体力劳动。程序员虽然还有一个称谓是码农,可我们需要的还是脑力劳动,不是体力劳动。

使用构造器和方法


主方法


我们观察到,构造器和方法起到的作用差不多,构造器将创建对象的过程封装起来,而方法将我们的逻辑封装起来,都在很大程度上帮我们减少了代码量,并且使得程序有更好的可读性

其实这一个看上去很简单的页面包含了很多的知识点,我们初学的话暂时只用来学习概念即可,基础打扎实,我们学习后面的web部分的内容才能畅行无阻,顺风顺水。

有的同学想说 “老师,我的ctrl +c ,ctrl +v 用的很6啊,毫无压力”,我想说“丢了饭碗看你有没有压力”

方法的参数传递

在学方法的时候,会有很多不好理解的概念,比如形参实参。形参就是我们定义一个方法的时候,方法里面的参数。实参就是我们调用方法的时候传递给方法的参数。

我们来看看下面这个帅哥抄作业的例子。形参和实参的名字没有必要保持一致,因为我的作业和他的作业不是一个作业,没有必要保持一致。

形参和实参

方法的参数传递跟我们抄作业很像,为什么呢?你抄作业的时候,抄完了是不是要把作业还给人家,你别告诉我你抄作业,结果抄都懒得抄,直接把同学的作业改名交上去吧。我们给方法传递参数也是一样的,调用方法的时候,我把参数里面的东西给你,你抄完了就是你自己的了,跟我没关系。还是上面的代码,我们关注一下 no 这个变量。

方法的参数是局部变量

不知道各位有没有看明白,形参是方法的局部变量,在方法内部怎么改动都不影响实参。

这种参数传递的方法叫做值传递java里面只有值传递,记住这个就行了。

方法重载

方法的重载,初学者听起来又是一个高大上的名字,其实他就是在一个类里面可以写多个名字一样,参数不一样的方法而已。

方法重载

很多其他教材,将方法的参数定义,就是方法参数括号内的内容,叫做形参列表,还有个概念叫做方法签名,这些东西理解起来很麻烦,我们只要记住方法的重载只跟参数的数量,类型有关系就可以了。

参数数量不同,可以重载

参数类型不同,可以重载

参数名称不同,其他相同不可以重载

其他的返回值,访问修饰符与重载无关

后面还有一个东西叫方法的重写,这两个东西本质是不一样的,重载是抄各种不同的作业。重写是我发现借我抄的作业是个错的,我还是自己写了一遍。开始还以为借我抄作业的是个王者,抄着抄着发现是个青铜,还没有自己做靠谱,哎。。。

构造器重载

说了方法的重载就把构造器的重载一起说一说。其实构造器很像方法,我们说过多次了,比如重载的时候,他们对形参列表的要求也是一样的。

构造器重载

不管是构造器的重载,还是方法的重载,我们一定要搞清楚一件事,就是我们在写代码的时候,调用方法或者构造器的时候,只会写参数的数量,参数的类型,所以程序只能根据我们提供给他的线索(参数的数量,参数的类型)去寻找合适的方法和构造器,这是重载最需要理解的地方。

英语作业忘记抄了,英语老师已经默默的点开了 - 家长联系方式.xls

PS:最近工作较忙,更新有点慢,实在抱歉,后面会加快速度。有些同学私信我,说我真的没有催你,我就想快点学更多知识,好吧...你们的套路真是一波接一波啊。

你可能感兴趣的:(作业可以抄 代码就不要抄了)