java基础知识 值传递问题

[复制链接]
查看11 | 回复3 | 2009-8-7 12:39:56 | 显示全部楼层 |阅读模式
String对象是不可变的,在String对象作为参数传递时,它本身的数值是不会随着形参的值改变而改变的,如:public class Method{ String str = new String("good"); //创建了一个String对象
char[] ch = {'a','b','c'};
public static void main(String[] args) {
Methodex=new Method();
ex.change(ex.str,ex.ch);
System.out....
回复

使用道具 举报

千问 | 2009-8-7 12:39:56 | 显示全部楼层
Java的8种基本类型:byte,short, char, int, long,float,double,boolean.与此对应的,java提供了8种包装类型:Byte,Short,Character,Integer,Long,Float,Double,Boolean.都是按值传递的,包括String。而对象是传递引用的 。你的My_T...
回复

使用道具 举报

千问 | 2009-8-7 12:39:56 | 显示全部楼层
前两个是基本数据类型,传递到方法中的是值的拷贝,所以在方法中只是把传递的值的拷贝改变了,并没有改变原来的值。第三个mytext传递是一个对象引用,当你把mytext传递到方法中时,两个对象同时指向了一个引用.所以把i的值改变会影响到原来的值.第四个是传递的一个String对象,String是一个特殊的对象,它的低层实际上就是char类型的数组...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行