
4.1 方法基本定义

在程序开发中经常会遇见各种重复代码的定义,为了方便管理这些重复的代码,就可以通过方法结构保存这些重复代码,实现可重复地调用,如果要进行方法的调用则可以通过以下定义格式。

方法定义中的返回值与传递的参数类型均为Java中定义的数据类型(基本数据类型、引用数据类型),在方法之中可以进行返回数据的处理,如果要返回数据则可以使用return来描述,return所返回的数据类型与方法定义的返回值类型相同,如果不返回数据,则该方法可以使用void进行声明。
提示:关于方法的定义格式。
在进行方法定义的时候本处使用了static关键字,之所以这样定义是因为当前的方法需要定义在主类之中,并且将由主方法直接调用,当然,static是否使用还是需要根据相应的条件,static使用的问题会在本书第5章中为读者进行详细解释。
另外,在Java中方法名称有严格的命名要求:“第一个单词首字母小写,而后每个单词的首字母大写”,例如,printInfo()、getMessage()都是合格的方法名称。
范例:定义一个无参数接收并且无返回值的方法


本程序在TestDemo主类中定义了一个printInfo()方法,此方法主要是进行内容的输出,所以在方法声明返回值时使用了void。而后在主方法之中调用了两次printInfo()方法,本程序的执行流程如图4-1所示。

图4-1 printInfo()方法调用流程
提问:怎么判断需要定义方法?
方法是一段可以被重复调用的代码段,那么什么时候该把那些代码段封装为方法有没有明确的要求?
回答:实践出真知。
在开发之中将那些代码封装为方法实际上并没有一个严格的定义标准,更多的时候往往是依靠开发者个人的经验进行的。如果是初学者应该先以完成功能为主,而后再更多地考虑代码结构化的合理。但是在很多情况下如果在开发中你发现一直都在进行着部分代码的“复制-粘贴”操作时,那么就应该考虑将这些代码封装为方法以进行重复调用。
范例:定义一个有参数有返回值的方法


在本程序定义的payAndGet()方法里面需要接收double类型的参数,同时返回String型的处理结果,随后在方法中根据传入的内容进行判断,并且返回不同的处理结果。
在方法中return语句除了可以返回处理结果之外,也可以结合分支语句实现方法的结束调用。
范例:使用return结束方法调用

本程序定义了sale()图书销售方法,并且会根据传入的销售数量进行判断,如果销售量小于等于0则会认为销售逻辑出现问题,直接利用return结束方法调用。