方法的使用细节
访问修饰符 返回类型 名字(形参){方法体}
访问修饰符:public>propected>不写>private
修饰类时只能使用public和默认
返回类型:return 返回值。void没有返回值
一个方法最多有一个返回值,如果需要多个返回值,返回数组。
不同类的方法不能直接调用,需要创建那个类的对象之后再调用。
递归
一个方法在自己的方法体中调用它本身这个方法。
阶乘 factorial
public int factorial(int n){
if (n == 1){
return 1;
}else {
return factorial(n - 1) * n;
}
汉诺塔
public class Tower {
public static void main(String[] args) {
AA a = new AA();
a.move(2,'a','b','c');//多余两层的会把最下面一个看做一层
}
}
class AA {
public void move(int num,char A,char B,char C){
if (num == 1){
System.out.println(A + "-->" + C);
}else {
move(num - 1, A,C,B);
System.out.println(A + "-->" + C);
move(num - 1, B,A,C);
}
}
}
方法重载与重写的区别
重载
发生在本类中的,同一个类中的多个同名方法,但要求形参不相同。返回类型和修饰符无要求
重写
发生在继承关系中的父子类之间,形参列表和方法名必须相同,修饰符子类只能扩大不能缩小,返回类型一致或者是其子类。
可变参数
多个同名功能,但参数个数不同的方法,封装成一个方法。
public int sum(int... nums){//这个nums可以看作为一个(0-多)个数据的数组
}
public void sum(String s,int... nums){//可以和别的参数放在一起,但可变参数一定要在最后,且后面不能有别的类型的参数
//可变参数只能有一个