方法的定义和使用

java中方法内能嵌套定义方法吗 方法的定义不能嵌套_System

注意事项:

1.方法与方法之间是 平级关系 不可以嵌套定义

2.方法的位置 可以在类{}中任意位置

3.方法定义之后 之后被调用 才能被执行

4.return 关键字的作用  返回关键字之后的数据 并结束方法(即return之后的代码 不会被执行)

5.void 关键字的作用 在方法体的最后 添加一行 return; 语句(不可见)  void关键字也不能省略

//无参调用
getMax();
//有参调用 常量调用
getMax(43, 25);
//有参 变量调用    类型 和 数量 要匹配
int m = 12;
int n = 33;
//有参 有返回值
getMax(m, n);
int sum = getMax2(1, 3) + 2;
System.out.println(sum);
------------------------------------------------------------------------------------------------
   //无参无返回值方法 灵活性不够 通用性不强
    public static void getMax() {
        int a = 10;
        int b = 20;
        System.out.println(a > b ? a : b);
    }

    //有参无返回值方法  处理过后的数据 不能被再次利用
    public static void getMax(int a, int b) {
        System.out.println(a > b ? a : b);
    }

    //有参有返回值方法  处理过后的数据 再次利用
    public static int getMax2(int a, int b) {
        int max = 0;
        max = a > b ? a : b;
        return max;
    }

方法的重载

重载:是代码的一种现象 一个类中方法名相同 参数列表不同的方法 他们之间相互称为 重载

重载判断:-----方法名相同 参数列表不同(数量 类型 顺序)

//1
    public static double getNum (int i,int j){
        return 12.0;
    }
    //2
    public static double getNum (int j){
        return 12.0;
    }
    //3
    public static double getNum (double i,double j){
        return 12.0;
    }
    //4
    public static double getNum (double i){
        return 12.0;
    }
    //5
    public static double getNum1 (int i,int j){
        return 12.0;
    }


    //6
    public static double getNum (int j,double i){
        return 12.0;
    }
    //7
    public static double getNum (double i,int j){
        return 12.0;
    }
    //8
    public static int getNum (double j,int i){
        return 12;
    }
    //9
    public static  getNum (double i,int j){

    }
//----------------------------------------
//    重载
//1-2 方法名相同 参数 数量不同
//1-3 方法名相同 参数 类型不同
//1-4 方法名相同 参数 数量不同 类型不同
//6-7 方法名相同 参数 类型顺序不同
//---------------------------------------
//    两个方法
//1-5 方法名不想同
//7-8 不构成重载 方法名却相同 类型 类型顺序 都相同 需要改掉其中一个名称 变为2个方法 否则编译不通过
//---------------------------------------
//1-9 成员方法必须要有"返回值" 具体类型/void    编译不通过
//构造方法:1要与类名相同 2.无返回值void也没有 3.可以相互重载

调用时Java如何判断出该选用哪个方法:

方法名称 + 参数列表

注意事项:

成员方法 必须有返回值类型(具体类型或void)

构造方法 必须和类名相同 且没有返回值(void都没有)

形参的顺序 不影响重载的判断 形参类型的顺序影响重载判断