温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java参数怎么引用

发布时间:2021-12-22 16:29:56 来源:亿速云 阅读:201 作者:iii 栏目:编程语言

这篇文章主要介绍“Java参数怎么引用”,在日常操作中,相信很多人在Java参数怎么引用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java参数怎么引用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.基本类型

基本类型作为实参时,该值会拷贝一份在方法中使用,方法中对参数的改变不会影响原来的值;

public class TestString {

public static void main(String[] args) {

// TODO Auto-generated method stub

int i=5;

change(i);

System.out.println(i);

}

private static void change(int i){

i=10;

}

}

输出:5

2.引用类型

引用类型的值是堆中数据所占内存的首地址,当引用类型作为方法实参时,编译器会在复制一份该地址在方法中使用,此时有两种情况:

1)如果方法改变了引用指向的数据的内容,则方法外的引用指向的内容也会改变;

2)如果方法将此引用指向了其他的内存地址,则方法外该引用执行的内容不变;

第一种情况:

public class TestString {

public static void main(String[] args) {

// TODO Auto-generated method stub

Test t1=new Test();

changeContent(t1);

System.out.println(t1.s);

}

private static void changeContent(Test t){

t.s="change content";

}

}

class Test{

String s="empty";

}

output:

change content

第二种情况:

public class TestString {

public static void main(String[] args) {

// TODO Auto-generated method stub

Test t1=new Test();

changeReference(t1);

System.out.println(t1.s);

}

private static void changeReference(Test t){

t=new Test();

t.s="changeRefence";

}

}

class Test{

String s="empty";

}

output:

empty

3.当string类型作为参数时,由于string的不可变的性质,因此当方法中改变了string的内容时,方法外参数指向的内容仍然不变

public class TestString {

public static void main(String[] args) {

// TODO Auto-generated method stub

String s="old";

change(s);System.out.println(s);

}

private static void change(String s){

s="change string";

}

}

output:

old

到此,关于“Java参数怎么引用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI