java中的引用问题!!!

java中没有指针,分为值传递和引用传递,这里的引用和C++中不同的,以String a=new String(“Romantic”)为例,左边表示new出来的“Romantic”在堆中生成,而左边的String a是在栈中生成一个引用,指向堆中生成的new String( “Romantic”)。其实很像指针指地址。在这里引用只能是类,基本数据类型只能是值传递!!!,java中很多东西都只适应与类,但可以稍加改动,比如map、set、list集合中的元素只能是类,但是基本数据类型int,可以换成Interger用,其实就是一个思想,万物皆类。

package test;
import java.util.*;

public class Main {
    private String nn = new String("1");
    private String[] mm = {"2","5"};
    void test(String nn,String[] mm) {
        nn = new String("3");
        this.nn = "9";
        mm[0] = "4";
        System.out.println("in test(),mm[0]: "+mm[0]);
        mm = new String[]{"8","7"};
        System.out.println("in test(),nn: "+nn);
        System.out.println("this.nn: "+this.nn);
        System.out.println("mm[0]: "+mm[0]);
    }
    public static void main(String[] args) {
        Main s = new Main();
        s.test(s.nn,s.mm);
        System.out.println(s.nn+"  "+s.mm[0]);
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值