Java中的方法,在PHP中被称为函数(是不是官方叫法我不知道,反正我一直是这么叫的)
但是在java中定义方法和PHP以及javascript中是很不同的。
Java是强语法类型语言,因此,方法必须有明确类型的返回值。以及明确的参数列表。
其实方法这个东西早在我们测试循环的时候就已经使用过了,当时为了不把代码写到一起,都是将每部分的代码分开写到单独的方法中的。详情请移步《Java(十二)循环》只是这里的方法都是没有返回值的。
一:方法的定义
今天的测试我就不再照搬循环中的例子了。没有太大的意义,我们判断数字的大小。这个好。
定义一个方法,有两个参数,分别为i,j,返回值为二者之间较大的数字,若二者相等,返回-1。
/** * 比较两个函数大小 * @param i * @param j * @return */ public static int reduct(int i,int j) { if(i == j) { return -1; } if(i > j) { return i; } else { return j; } } /** * 比较两个函数大小 * @param i * @param j * @return */ public int reduct(int i,int j) { if(i == j) { return -1; } if(i > j) { return i; } else { return j; } }
上边我定义了两个方法,区别在一个方法有static,一个方法没有static,这就需要先说一下关键字static,他关系到了一会我们如何去调用这个方法,有定义方法中有static,直接调用即可,定义方法中没有static,则需要实例化这个类(new)之后才可以调用。暂时了解即可,后边会陆续看到。
我们调用的时候使用有static的方法进行测试。
方法定义好了,我们接下来去调用它,我们大概有三种调用方法。
1:单独调用:方法名(参数)
注意,如果方法的返回值为void的时候,只能使用单独调用
2:输出调用:System.out.print(方法名(参数))
注意,如果方法的返回值为void的时候,不能使用输出调用
3:赋值调用:数据类型 变量名 = 方法名(参数)
注意,赋值调用只适用于有返回值的方法
public class T04 { public static void main(String[] args) { // 单独调用 reduct(5,2); // 输出调用 System.out.println(reduct(5,2)); // 赋值调用 int result = reduct(5,2); System.out.println(result); } /** * 比较两个函数大小 * @param i * @param j * @return */ public static int reduct(int i,int j) { if(i == j) { return -1; } if(i > j) { return i; } else { return j; } } }
调用输出:
5
5
上边我们测试了有返回值的方法,下边我们测试一下,没有返回值的方法。将上方的代码改造一下:
public class T04 { public static void main(String[] args) { // 单独调用 reduct(5,2); } /** * 比较两个函数大小 * @param i * @param j * @return */ public static void reduct(int i,int j) { if(i == j) { System.out.println(-1); } if(i > j) { System.out.println(i); } else { System.out.println(j); } } }
输出:
5
方法的返回值有很多种类型,比如:int,char,long,数组,void等。这里就不一一做展示了
二:方法的注意事项
在定义方法的时候有几个点需要注意下:
1:方法不能嵌套定义(方法与方法是平级关系)
2:void表示无返回值,可以省略return ,也可以单独的书写return ;,后面不加数据
3:返回值不是void的时候,必须有return值,否则会编译报错
三:方法的重载(overload)
方法的重载:指在同一个类中,出现两个方法的名字相同,参数列表不同的两个方法,就称之为方法的重载。
这个玩意就很有意思,先说我熟悉的PHP,PHP中是没有类似java的重载功能的,它在定义函数的时候,可以给函数的参数赋默认值
public static function doCurl($url, $method = 'GET', $data = null) { curl_close($ch); return $output; }
第二个参数和第三个参数都是有默认值的,因此,我们只需要传递第一个参数方法即可正常调用。
Java是通过重载来实现PHP类似的功能的。
举个例子:
public class T04 { public static void main(String[] args) { int two = sumNunber(5,2); System.out.println(two); int three = sumNunber(5,2,6); System.out.println(three); } /** * 加和(三个参数) * @param i * @param j * @return */ public static int sumNunber(int i,int j,int x) { return i + j + x; } /** * 加和(两个参数) * @param i * @param j * @return */ public static int sumNunber(int i,int j) { return i + j; } }
运行代码,输出:
7
13
以上大概就是java中方法的基本使用
有好的建议,请在下方输入你的评论。