前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >作业可以抄 代码就不要抄了

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

作者头像
用户5745563
发布2019-07-04 11:13:33
7390
发布2019-07-04 11:13:33
举报
文章被收录于专栏:码思客码思客码思客
java零基础入门-面向对象篇(五) 类和对象 (下)

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

方法的使用场景

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

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

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

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

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

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

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

功能分析

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

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

体力劳动

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

使用构造器和方法

主方法

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

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

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

方法的参数传递

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

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

形参和实参

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

方法的参数是局部变量

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

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

方法重载

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

方法重载

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

参数数量不同,可以重载

参数类型不同,可以重载

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

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

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

构造器重载

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

构造器重载

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码思客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档