JavaSE-方法篇

JavaSE- 方法
  • 方法的重载
  • 可变形参的方法
  • 方法参数的值传递机制
  • 递归方法
方法重载:
  • 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可

  • 与返回值无关,只看参数列表且参数列表必须不同(参数个数或参数类型)

    调用时,根据方法参数列表的不同来区别

以下方法都是重载:

public void getsum(int i , int j){
    System.out.println(i + j);
}

public void getsum(double i ;double j){
    System.out.println(i + j);
}

public void getsum(String i ,int i){
    System.out.println(i + j);
}

public void getsum(int i ,String j){
    System.out.println(i + j);
}
  • 即使是参数列表顺序不同,也构成重载,根据传递参数顺序调用具体的函数

  • 跟方法的权限修饰符,返回值类型,形参变量名,方法体都无关

  • 通过对象调用方法时,如何确定某一指定方法:

    先看方法名,如果有重载,再根据参数列表判断(方法名------>参数列表)

可变个数的形参:

1.JDK5.0新增内容,调用可变个数形参时,可以传入多个参数

2.具体使用:

​ 格式:变量类型…形参变量名,eg:

public void show(String ... str){
    return 0;
}
//调用时可以同时传递多个参数
test.show("hello","world","he");
  • JDK5.0以前需要传递多个参数时,使用的是数组,因此可变形参新特性不能续数组共存(会构成重载)
//以下方法构成重载(表示的是同一个东西)
public void (String[] arr){
    
}

public void (String ... arr){
    
}

方法的形参传递机制:值传递
  • 机制:如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址

swap(a,b);

只有参数类类型为引用数据类型(类的对象)时才能交换,eg:

class Data{
    int m;
    int n;
}
punlic static void main(String[] args){
    Data data = new Data();
    data.m = 10;
    data.n = 20;
    v.swap(data);
    System.out.println(data m , data n);
}
swap(Data data){
    int temp = data.m;
    data.m = data.n;
    data.n = temp;
}
  • 关于变量赋值:

    如果变量是基本数据类型,此时传递的是保存数据的值

    如果变量是引用数据类型,此时传递的是保存数据的地址

递归方法

方法内调用方法本身,例如,斐波那契数列,汉诺塔问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值