Java的一些方法

143 阅读2分钟

方法的重载

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

  • 方法重载的原则:

    1. 方法名称必须相同。
    2. 参数列表必须不同(个数不同或类型不同或参数排列顺序不同)。
    3. 方法的返回类型可以相同也可以不同。
    4. 仅仅返回类型不足以成为方法的重载。

命令行传参

在idea中输入代码:

  package com.baidu.Method;
  public class Demo02 {
      public static void main(String[] args) {
          for (int i = 0; i < args.length; i++) {
              System.out.println("args["+i+"]:"+args[i]);
          }
      }
  }

打开当前代码所在文件目录 进入cmd

  
  Microsoft Windows [版本 10.0.18363.2037]
  (c) 2019 Microsoft Corporation。保留所有权利。
  E:\JavaSE\基础语法\src\com\baidu\Method>javac Demo02.java
  E:\JavaSE\基础语法\src\com\baidu\Method>java Demo02
  错误: 找不到或无法加载主类 Demo02
  原因: java.lang.NoClassDefFoundError: com/baidu/Method/Demo02 (wrong name: Demo02)
  E:\JavaSE\基础语法\src\com\baidu\Method>cd ..
  E:\JavaSE\基础语法\src\com\baidu>cd ..
  E:\JavaSE\基础语法\src\com>cd ..
  //要返回到包的上一级目录
  E:\JavaSE\基础语法\src>java com.baidu.Method.Demo02 //输入全名
  E:\JavaSE\基础语法\src>java com.baidu.Method.Demo02 this is method//传入参数
  args[0]:this
  args[1]:is
  args[2]:method
  E:\JavaSE\基础语法\src>

可变参数

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

举个栗子

  
  package com.baidu.Method;
  public class Demo03 {
      public static void main(String[] args) {
          Demo03 demo03 = new Demo03();
          demo03.test(1,2,3,4,5);
      }
      public void test(int... arr){
          System.out.println(arr[0]);
          System.out.println(arr[1]);
          System.out.println(arr[2]);
          System.out.println(arr[3]);
          System.out.println(arr[4]);
      }
  }

递归

递归就是:A方法调用A方法,就是自己调用自己。理解递归的最好办法就是先理解递归。

举个栗子:

  
  package com.baidu.Method;
  public class Demo04 {
      public static void main(String[] args) {
          long result=f(5);
          System.out.println(result);//120
      }
      public static long f(int n){
          if (n==1){
              return 1;
          }else {
              return n*f(n-1);
          }
      }
  }