Java方法基础

1、什么是方法

Java方法是语句的集和 它们在一起执行一个功能

  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建 在其他地方被引用

设计方法的原则

  • 设计方法的时候最好保持方法的原子性,即一个方法只完成1个功能,有利于后期扩展。
  • main方法尽量简洁 公共方法写到外边 (加上static 就约等于函数)

2、方法的定义及调用

方法的定义(类似函数)

  • 方法包含一个方法头和一个方法体

    • 修饰符:可选,告诉编译器如何调用该方法,定义了该方法的访问类型。

    • 返回值类型:表明方法返回的数据类型,void为不返回任何参数。

    • 方法名:方法的名称。

    • 参数类型:可选。参数列表指方法的参数类型、顺序和参数个数。创建时为形参,调用时为实参。

    • 方法体:定义方法的功能。

1
2
3
4
5
6
修饰符 返回值类型 方法名(参数类型 参数名){
……
方法体
……
return 返回值;
}

方法调用

  • 调用方法:对象名.方法名(实参列表)
  • Java支持两种调用方法的方式,根据方法是否返回值来选择。
    • 例:返回一个值
1
int larger = max (30, 40);
  • 方法返回值为void,则方法调用为一条语句
    • 例:不返回任何值
1
System.out.println("xxx");
  • 值传递(Java) 和 引用传递

3、方法重载

  • 重载就是在一个类中,有相同的函数名称,但形参不同的函数。

  • 方法重载的规则:

    • 方法名称必须相同
    • 参数列表必须不同(个数不同、类型不同 或参数排列顺序不同)
    • 必须存在参数列表的区别,只有返回类型不同不属于方法重载
  • 方法同名时编译器会通过参数的差别区分使用哪个方法

4、命令行传参

  • 有时候希望运行一个程序的时候再传递给它消息,要靠传递命令行参数给main()实现

5、可变参数(不定项参数)

  • JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
  • 在方法声明中,在指定参数类型后加一个省略号(…)。
  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。

6、递归

  • 递归:方法自己调用自己
  • 递归结构包括两个部分:
    • 递归头:什么时候不调用自身方法。避免死循环。(边界条件)
    • 递归体:什么时候需要调用自身方法。
  • 只适用于规模比较小的计算 能不用递归就不递归