多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 七方法 如何定义Java中的方法所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。一般情况下,定 义一个方法的语法是: ![](https://box.kancloud.cn/2016-02-22_56cab560e01ab.jpg) 其中: 1访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private甚至可以省略 ,其中public表示 该方法可以被其他任何代码调用。 2返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为void;如果方法具有返回值,则 需要指定返回值的类型,并且在方法体中使用return语句返回值。 3方法名:定义的方法的名字,必须使用合法的标识符。 4参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名 组成,以空格隔开。 根据方法是否带参、是否带返回值,可将方法分为四类: 1)无参无返回值方法; 2)无参带返回值方法; 3)带参无返回值方法; 4)带参带返回值方法; (1)无参无返回值方法的使用 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名为show,没有参数,且没有返回值的方法,执行的操作为输出"welcome to  imooc." ![](https://box.kancloud.cn/2016-02-22_56cab560f2078.jpg) 需要注意的事项有: 1方法体放在一对大括号中,实现特定的操作。 2方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母 大写的形式。 第二步,调用方法 当需要调用方法执行某个操作时,可以先创建类的对象,然后通过对象名.方法名()来实现。 例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的show( )方法输出信息。 ![](https://box.kancloud.cn/2016-02-22_56cab5610e818.jpg) 运行结果为:welcome to imooc. (2)无参带返回值方法的使用 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。 例如:下面的代码,定义了一个方法名为calSum,无参数,但返回值为int类型的方法,执行的操作为计算两数之 和,并返回结果。 ![](https://box.kancloud.cn/2016-02-22_56cab56124f31.jpg) 在calSum( )方法中,返回值类型为int类型,因此在方法体中必须使用return返回一个整数值。 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其 返回值并进行处理。如: ![](https://box.kancloud.cn/2016-02-22_56cab56137bc8.jpg) 运行结果为: 两数之和为:17 需要注意的事项有: 1如果方法的返回类型为void ,则方法中不能使用return返回值。 ![](https://box.kancloud.cn/2016-02-22_56cab56152fe8.jpg) 2方法的返回值最多只能有一个,不能返回多个值。 ![](https://box.kancloud.cn/2016-02-22_56cab5616132d.jpg) 3方法返回值的类型必须兼容,例如,如果返回值类型为int ,则不能返回String型值。 ![](https://box.kancloud.cn/2016-02-22_56cab561714a2.jpg) (3)带参无返回值方法的使用 有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息行。 我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。 我们先来看一个带参数,但没有返回值的方法: ![](https://box.kancloud.cn/2016-02-22_56cab56182cc1.jpg) 上面的代码定义了一个show方法,带有一个参数name,实现输出欢迎消息。 调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值。 ![](https://box.kancloud.cn/2016-02-22_56cab5619985f.jpg) 例如: ![](https://box.kancloud.cn/2016-02-22_56cab561aa6fa.jpg) 运行结果为: 欢迎您,爱慕课! 很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法 时的参数称为实参,是传递给方法真正被处理的值。 需要注意的事项有: 1调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应。 ![](https://box.kancloud.cn/2016-02-22_56cab561bedba.jpg) 2调用方法时,实参不需要指定数据类型,如  ![](https://box.kancloud.cn/2016-02-22_56cab561d35cf.jpg) 3方法的参数可以是基本数据类型,如 int、double等,也可以是引用数据类型,如String、数组等。 ![](https://box.kancloud.cn/2016-02-22_56cab561e156b.jpg) 4当方法参数有多个时,多个参数间以逗号分隔。 ![](https://box.kancloud.cn/2016-02-22_56cab56206612.jpg) (4)带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。 例如:下面的代码,定义了一个show方法,带有一个参数name,方法执行后返回一个String 类型的结果。 ![](https://box.kancloud.cn/2016-02-22_56cab562172ab.jpg) 调用带参带返回值的方法: ![](https://box.kancloud.cn/2016-02-22_56cab56227b40.jpg) 运行结果为: 欢迎您,爱慕课! (5)Java中方法的重载 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重 载,也可称该方法被重载了。如下所示4个方法名称都为show ,但方法的参数有所不同,因此都属于方法的重载: ![](https://box.kancloud.cn/2016-02-22_56cab56239109.jpg) 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将 被执行。如: ![](https://box.kancloud.cn/2016-02-22_56cab5624e0ef.jpg) 运行结果: ![](https://box.kancloud.cn/2016-02-22_56cab56262d77.jpg) 判断方法重载的依据: 1必须是在同一个类中; 2方法名相同; 3方法参数的个数、顺序或类型不同; 4与方法的修饰符或返回值没有关系;