JavaSE|02.方法的传递机制

Java基础|02.方法传参机制

0x00 前言

  • Parameter:参数

  • java中只有传值,因为地址值也是值

0x01 基础数据类型的传参机制

  1. 基本数据类型的值传递,不改变原值。因为调用后会弹栈,局部变量随之消失。

    package study;
    
    public class Parameter {
        public static void main(String[] args) {
            int a = 520;
            System.out.println("Output before:" + a);
            Test(a);
            System.out.println("Output after:" + a);
        }
        static void Test(int a) {
            a = 1314;
            System.out.println("Outputting:" + a);
        }
    }
    
    >>>
    Output before:520
    Outputting:1314
    Output after:520
    

0x02 引用数据类型的传参机制

  1. 引用数据类型的值传递,改变原值。因为传递的是地址,地址指向堆内存,即使方法弹栈,但是堆内存数组对象依然存在。

    package study;
    
    public class Parameter_02 {
        public static void main(String[] args) {
            Test testA = new Test();
            int[] arr = {1, 2, 3, 4, 5};
            testA.test(arr);
            System.out.println("主函数中的 arr数组:");
            for (int i = 0; i < arr.length; i++){
                System.out.print(arr[i] + "\t");
            }
        }
    }
    
    class Test{
        public void test(int[] arr){
            arr[0] = 100;
            arr[1] = 200;
            System.out.println("test中的 arr数组:");
            for (int i = 0; i < arr.length; i++){
                System.out.print(arr[i] + "\t");
            }
            System.out.println("");
        }
    }
    
    >>>
    test中的 arr数组:
    100	200	3	4	5	
    主函数中的 arr数组:
    100	200	3	4	5
    
posted @   c10udz  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示