Java的方法学习记录

方法

  • Java方法是语句的集合,它们在一起执行一个功能。

  • 方法是解决一类问题的步骤的有序组合。

  • 方法包含在类或者对象当中。

  • 设计原则:方法的本意是功能块,就是实现某个功能的语句块的集合,设计时,最好保持方法的原子性,就是一个方法完成一个功能。

  • 命名规则:最好使用驼峰命名,第一个单词首字母小写,其它首字母大写。

  • Java的方法是一段用来完成特定功能的代码片段,包含方法头和方法体。

  • 方法头:修饰符(可选的,定义方法的访问类型)、返回值类型(没有返回值使用void)、方法名、参数(可选的)

  • 方法体:包括具体的语句。

    修饰符 返回值类型 方法名(参数类型 参数名){
        ...
        方法体
        ...
        return 返回值;
    }
    
  • 形参:在方法被调用时用于接受外界输入的数据。

  • 实参:调用方法时实际传给方法的数据。

方法调用

  • 调用方法: 对象名.方法名(实参列表)

  • 当方法返回一个值的时候,方法调用通常被当作一个值。

  • 如果方法返回值是void,方法调用一定是一条语句

Java值传递

  Java中没有像C/C++一样的指针,Java只存在值传递,虽然对象的传递似乎是引用传递,可以改变某个属性的值。但是实际上传入函数的值是对象引用的拷贝,依然是值传递。

方法的重载

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

  • 方法重载的规则:

    1. 方法名必须相同
    2. 参数列表必须不同(个数不同、类型不同、参数排列顺序不同)
    3. 方法返回类型可以相同也可以不相同
    4. 仅仅返回类型不同不足以称为方法的重载
  • 实现理论:方法名相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器会报错。

命令行传参

  有时候希望运行一个程序时候再传递给它消息,这就靠传递命令行参数给main()函数实现。 编译之后,运行时在类名后加上参数。

可变参数

  在方法声明中,在制定参数类型后加一个省略号(…),一个方法只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数都必须在它之前声明。本质其实还是数组,例如:

public void test(int x, int... number){}

递归

  • 递归就是自己调用自己
  • 通常是把一个大型复杂的问题层层转化成为一个与原问题相似的规模较小的问题,在于用有限的语句来定义对象的无限集合。
  • 递归头:什么时候不调用自身方法,如果没有头,将陷入死循环。
  • 递归体:什么时候需要调用自身方法。
  • 栈机制,如果递归深度太大,会出现栈溢出错误。
  • 基数比较小的情况下可以考虑递归,否则能不用则不用。

:以上均为学习内容,如有错误,烦请指出,谢谢!
学习视频:B站狂神说Java

你可能感兴趣的:(技术历程,Java)