方法是一组为了实现特定功能的代码块的集合。
方法在语法上的功能主要有以下两个
注意:
[修饰符] 返回值类型 方法名([参数类型 形式参数1,参数类型 形式参数2,……]){ 执行语句; [return 返回值;]//需要的话}
参数列表(参数的类型 ,参数的个数,参数的顺序)
package reviewDemo;/** * player 的值分别是1,2,3或者其他值时,该方法返回“upuptop”,“趣学程序”,“pyfysf”,“爱生活爱程序”。 */
public class MethodDemo { public static void main(String[] args) { int player = 5; System.out.println("返回的结果是:" + show(player)); }
public static String show(int p) { switch (p) { case 1: return "upuptop"; case 2: return "趣学程序"; case 3: return "pyfysf"; default: return "爱生活爱程序"; } }}
概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或参数顺序不同即可。 存在的原因:屏蔽了一个对象的同一类方法由于参数不同所造成的差异。 特点:与返回值类型无关,只看参数列表。
以下是方法重载的示例:
public void a(int a){}public int a(){}public void a(int a,String s){}
public class Chongzai { public static void main(String[] args) { int ret = name(3, 4, 5); System.out.println(ret); }
public static int name(int a, int b) { int c = a + b; return c; }
public static int name(int a, int b, int m)//这就叫做方法的重载,只要参数列表不一样。好处:用户使用时限制很小; { int c = a + b + m; return c; }
}
总结:方法重载,方法名相同,但是参数列表不一致!(和方法覆写不一样,方法覆写的方法名和参数列表都必须一样),注意方法重载和方法覆写的不同!
方法重写主要出现在 实现接口 或者 继承类 的时候。要求其方法名要与父级方法名称一致,方法参数类型一致,参数列表一致 具体知识,留到[类]章节介绍
从java5开始出现了可变参数,这是对java方法及数组的拓展!方法中可以接受的参数不再是固定个数的,而是随着具体需求传递的多少来决定。
定义格式:
返回值类型 方法名(参数类型 ... 形式参数){ }
特点:
...
位于变量类型和变量名之间,前后有无空格都可以;public class KeBianCanShu {
public static void main(String[] args) { System.out.println(sum());//0 System.out.println(sum(1, 2, 3, 4, 5));//15 System.out.println(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));//55 }
private static int sum(int... nums) { int sum = 0; for (int num : nums) { sum += num; } return sum; }
}