谁能帮我解释一下下面两道题的参数传递过程

publicclassValueReference{inta=10;publicstaticvoidmain(String[]args){ValueReferenceaV... public class ValueReference {
int a=10;
public static void main(String[] args) {
ValueReference aValue=new ValueReference();
aValue.print();
}
public void print()
{
int b=a;
System.out.println("Before changed value a="+a+",b="+b);
a=30;
System.out.println("After changed value a="+a+",b="+b);
}
}

public class Student {
String strName;
public static void main(String[] args) {
Student aStudent=new Student();
aStudent.setStudentName("张三");
System.out.println("aStudent name is "+aStudent.getStudentName());
Student bStudent=aStudent;
bStudent.setStudentName("李四");
System.out.println("bStudent name is "+bStudent.getStudentName());
String name=aStudent.getStudentName();
System.out.println("After bStudent the aStudent name is "+name);
}
public String getStudentName(){
return strName;
}
public void setStudentName(String name){
strName=name;
}
}
展开
 我来答
michaelmaxl
2008-03-25 · TA获得超过350个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:0
展开全部
两道题的道理是一样的,只不过第一道是int类型,也就是基本类型,可以直接改变和读取整数的值,第二题是String,也就是引用类型,要通过调用方法来改变和读取String的值。
其实这题就是先将一个支赋给变量A,再将A的值赋给B,将A,B都打印出来,再给A赋一个新的值,B的值不变,再将A,B都打印出来。
这样,B的值没有改变过,而且和一开始赋给A的值相等
JLU小米
2008-03-25 · TA获得超过544个赞
知道小有建树答主
回答量:305
采纳率:100%
帮助的人:0
展开全部
1.基本类型赋值。 b=a=10;之后a=30但是并不改变b的值,所以b还是10;

2.引用赋值。首先引用astudent = 张三,这是没有疑问的 bstudent=astudent 也就是说bstu..的引用指向了astu...的引用,这两个指的是一个东西,那么bstudent指的改变了,astudent也改变了。所以此时astudent&&bstudent = 李四~

不知道你明白没有……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式