在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
众所周知,Java有两种参数传递方式,即按值传递和引用传递,而String类型比较特殊,需要单独讨论。Java参数传递只有值拷贝,没有引用传递。本文将讨论基本类型、引用类型和String类型。

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的同学都掌握了Java参数传递的知识点了吗?如果还没有可以上博学谷官网在线学习有关Java参数传递的知识点。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
怎样学Java开发工程师?怎样入门?
怎样学Java开发工程师?如果只是想了解Java软件编程可以自学,选择比较好的Java视频教程学习。如果想学成就业,建议到专业的培训机构学习,通过系统的学习大大提高了工作效率。Java编程在互联网的中应用范围广,就业岗位多不少人想入行。
5246
2020-07-01 17:10:43
Node发展史介绍
如果没有服务器提供支持,没有数据库存储数据,那么我们写的代码只能在自己的电脑本地运行,网站也不能登录注册。而就是为什么要学习Node的原因,因为Node 就是做服务器的。在大家学习Node之前,我们先来看看Node发展史的介绍吧!
5806
2020-08-14 16:26:45
初级Java学到什么程度就可以找工作了?
可以找工作的程度主要看你的目标岗位定位,一般来说学习Java的人群大部分是零基础的学员,目标岗位初级java程序员。如果是有一定基础想找高级程序员的岗位,那么学习到的知识程度要求更高一些。
6764
2020-09-17 10:13:58
Java入门到做项目需要多久?学习周期长吗?
Java入门到做项目需要多久因人而异,一般来说零基础参加Java培训班学习周期在6个月左右,初学者Java入门到上手做项目至少要3个月,前期重点学习Java基础知识。Java入门到做项目具体的学习时间有长有短,很多人学Java抓不到学习重点,找不到学习Java的方向,花费大量的时间和精力效果不佳。
9534
2020-09-30 14:16:09
如何成为一名合格的Java程序员?
如何成为一名合格的Java程序员?不断提高个人代码能力,将复杂的问题简单化处理,自我总结,提升学习和解决问题能力。高级程序员一般具有丰富的项目经验,经验是能力最好的试金石,即使在碰到未知的问题,丰富的项目经验也不会束手无策。
4077
2021-02-20 17:40:25
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
