zoukankan      html  css  js  c++  java
  • 在Java中关于值传递和引用传递小记

    在Java中关于值传递和引用传递小记

      在Java中的数据分为两种:基本数据类型引用类型。其中引用类型包含类引用(记为类)、接口引用(记为接口)、数组引用类型(记为数组)。

      另外对于参数类型在方法中为:在方法的定义时写的参数为形式参数、而在参数的调用中实际传入的参数为实际参数。

      一般情况下Java中的数据在进行参数传递的时候,基本数据类型传递是做值传递,而引用数据类型传递是在做引用传递,即将地址进行传递。

      (1)基本数据类型的传递

      测试String:

    public class Test{
            public static void main(String[] args) {
            String xString = new String("博美");
            change(xString);
            System.out.println(xString);
        }
    
        static void change(String xString) {
            xString = "哈士奇";
        }   
    }     

      

       测试int:

    public class test{
            public static void main(String[] args) {
            // 测试引用传递
            int x = new Integer(12);
            change(x);
            System.out.println(x);
        }
    
        static void change(int x) {
            x = 14;
        }
    }

      

      (2)测试引用类型,以数组类型为例

    public class test{
            public static void main(String[] args) {
            int[] testArray = { 1, 3, 5, 7, 99 };
            change(testArray);
            System.out.println(testArray[0]);
        }
    
        public static void change(int[] array) {
            array[0] = 0;
        }
    }

      

       从以上的测试中可以看出,基本数据类型int,String在进行参数传递的时候都是进行的值传递,即直接将值copy一份传入,函数改变的并不是值的本身,或者说并没有对原来的值产生影响。而引用传递的话就可以在被调用方法中对实参进行修改了。

  • 相关阅读:
    什么是RAID?RAID有什么用?RAID原理
    Java和PHP哪个方向更有前途?
    Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版
    学习笔记之--java EE 环境的搭建
    学习笔记之--Navicat Premium创建数据表
    学习笔记之--MySQL图形界面软件Navicat Premium的安装
    #Javascript:this用法整理
    js解决通过json传来的timestamp类型时间的显示问题
    Eclipse快捷键大全
    形参与实参的区别
  • 原文地址:https://www.cnblogs.com/dashenaichicha/p/12143200.html
Copyright © 2011-2022 走看看