Java修炼之凡界篇 筑基期 第04卷 方法 第02话 方法调用与重载

方法调用与重载

方法调用

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

  • Java 语言支持两种调用方法的方式,根据方法是否有返回值来进行选择

  • 当方法返回一个值时,方法调用通常被当做一个值

    int larger = max(30, 40);
    
  • 当方法无返回值时,方法调用一定是一条语句

  • Java 是值传递,而不是引用传递

  • 值传递是传递实参副本,函数修改不会影响实参;引用传递是传递实参地址,函数修改会影响实参

  • 程序案例:

    public class PassValue {
    
        public static void main(String[] args) {
            System.out.println("=====1、值传递=====");
            int i = 5;
    
            System.out.println(i); // 输出5
    
            change(i);
    
            System.out.println(i); // 输出5
        }
    
        public static void change(int i){
            i = 10;
        }
    }
    // --------------------------------------
    // 控制栏输出打印:
    /**
     =====1、值传递=====
     5
     5
     */
    
    public class PassRefrence {
    
        public static void main(String[] args) {
            System.out.println("=====2、引用传递=====");
            // 对象实例化(记住格式及现象,后续面向对象会学习)
            TestDemo testDemo = new TestDemo();
            int i = testDemo.i;
            System.out.println(i); // 输出5
    
            change(testDemo);
    
            i = testDemo.i;
            System.out.println(i); // 输出10
        }
    
        public static void change(TestDemo testDemo){
            testDemo.i = 10;
        }
    }
    // --------------------------------------
    // 控制栏输出打印:
    /**
     =====2、引用传递=====
     5
     10
     */
    
    public class TestDemo {
        int i = 5;
    }
    
  • 上面两种情况,目前理解起来比较困难,后续学习面向对象的思维后,理解起来会很容易

方法重载

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

  • 方法重载规则1:方法名称必须相同

  • 方法重载规则2:参数列表必须不同(个数不同、或数据类型不同、参数列表顺序不同等)

  • 方法重载规则3:方法的返回参数类型可以相同也可以不同

  • 方法重载规则4:仅方法的返回类型不同不足以陈给方法的重载

  • 程序案例:

    public class Method {
        public static void main(String[] args) {
            println();
            System.out.println("=====整数相加=====");
            System.out.println(sum(10, 23));
            System.out.println("=====小数相加=====");
            System.out.println(sum(10.0, 23.0));
            System.out.println("=====整数比较=====");
            System.out.println(compare(10, 23));
            System.out.println(compare(10, 10));
            System.out.println(compare(23, 10));
            System.out.println("=====小数相加=====");
            System.out.println(compare(10.0, 23.0));
            System.out.println(compare(10.0, 10.0));
            System.out.println(compare(23.0, 10.0));
        }
        public static void println(){
            System.out.println("这是无参方法!!!");
        }
        public static int sum(int num1, int num2) {
            return num1 + num2;
        }
        public static double sum(double num1, double num2) {
            return num1 + num2;
        }
        public static int compare(int num1, int num2) {
            if (num1 > num2) {
                return 1;
            }
            if (num1 < num2) {
                return -1;
            }
            return 0;
        }
        public static String compare(double num1, double num2) {
            if (num1 > num2) {
                return "1";
            }
            if (num1 < num2) {
                return "-1";
            }
            return "0";
        }
    }
    // --------------------------------------
    // 控制栏输出打印:
    /**
     这是无参方法!!!
     =====整数相加=====
     33
     =====小数相加=====
     33.0
     =====整数比较=====
     -1
     0
     1
     =====小数相加=====
     -1
     0
     1
     */
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫在问

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值