一、方法的重载
一个类有两个同名的方法,但是参数类型不同
规则:
- 方法名称必须相同
- 参数列表必须不同
二、命令行传参
package method;
public class Demo3 {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
main()方法也可以进行传参
javac编译
cd回退到src然后Java编译
3、可变参数(不定项参数)
在指定参数类型后加一个省略号
package method;
public class Demo4 {
public static void main(String[] args) {
Demo4 demo4 =new Demo4();
demo4.test(1,2,3,4,5);
}
public void test(int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
}
}
四、递归
1、栈溢出(低级错误)
package method;
public class Demo5 {
public static void main(String[] args) {
Demo5 test=new Demo5();
test.test();
}
public void test(){
test();
}
}
2、5!(5的阶乘)
package method;
public class Demo6 {
public static void main(String[] args) {
System.out.println(f(5));
}
//1! 1
public static int f(int n){
if(n==1){
return 1;
}
else{
return n*f(n-1);
}
}
}