值传递与引用传递

Posted iscys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值传递与引用传递相关的知识,希望对你有一定的参考价值。

 

技术分享图片

 

    • 基本数据类型 (属于值传递)
      • 整型:byte,short,int,long
      • 浮点型:float,double
      • 字符型:char
      • 布尔型:boolean
    • 引用数据类型 (引用传递)
      • 数组
      • 类 
      • 接口

运行下面例子:

package com.java.baseknowledge.sort;

public class Arrayss {

    
    public static void main(String[] args) {
        //值传递与引用传递
        //值传递形式参数是基本数据类型包括string,操作不会影响原来的数据
        int a=10;
        add(a);
        System.err.println("值传递调用之后的值为"+a);
        //引用传递
        Person p =new Person(90);
        add1(p);
        System.err.println("引用传递之后的值"+p.age);
        String cc="sa";
        add2(cc);
        System.err.println("值传递之后的值"+cc);
        
    }
    
    
    private static void add2(String cc) {
        
        cc="abc";
        System.out.println("method execute"+cc);
        
    }


    static void add(int a) {
        
        a=a+10;
        System.out.println("method execute"+a);
    }
    
    static void add1(Person p) {
        int aa=p.age=p.age+10;
        System.out.println("method execute"+aa);
    }
}


class Person{
    
    public int age;
    public Person(int age) {
        this.age=age;
    }
}

 



以上是关于值传递与引用传递的主要内容,如果未能解决你的问题,请参考以下文章

C# 按值传递与按引用传递

哪个更快?按引用传递与按值传递 C++

c# 值类型与引用类型 值传递与引用传递

值传递与引用传递

Android 我应该在异步任务中将片段作为弱引用传递吗?

abap 值传递 引用传递