首页 青云排行榜 知识中心 控制台

在JAVA中, 指出下列程序运行的结果(     )

public class Example {
    String str = new String("good"); 
    char[] ch = {'a', 'b', 'c'};
    public static void main(String args[]) { 
        Example ex = new Example(); 
        ex.change(ex.str, ex.ch); 
        System.out.print(ex.str + " and "); 
        System.out.print(ex.ch); 
    } 
    public void change(String str, char ch[]) { 
        str = "test ok"; 
        ch[0] = 'g'; 
    }
}

good and abc

good and gbc

test ok and abc

test ok and gbc

关于String类型作为形参传递的问题,String类型作为一个特殊的类型,有着其特殊性
String类型是一个引用类型,但是其在内存中存储却是存储在常量池中,按道理,他的传递应当和引用类型的原则一致。
但是它有个特殊的特点在于,String类型的值改变,地址就会改变(内容相同,指向就相同,只要内容不同,指向就不同),所以修改字符串内容时,修改的是字符串变量的引用。

在Java中,数组可以作为方法的形参传递。当数组作为方法参数时,实际上传递的是数组的引用地址,因此对这个数组对象的任何修改都将影响方法外部的调用者,在方法执行结束后仍然保持这种修改。
数组作为方法形参传递的特点和注意事项如下:
1. 数组引用地址被传递,而不是数组的副本和拷贝。因此,任何对数组的修改都会影响到调用者。
2. 数组在方法中被改变后状态是持久的,即方法执行结束时仍然保持修改后的状态。
3. 在调用方法时,需要确保数组已经被创建,并进行初始化。
关于我们
公司简介
联系我们
联系我们
售前咨询: leizhongnan@eval100.com
售后服务: 0755-26415932
商务合作: support@eval100.com
友情链接
金蝶软件
快递100
关注我们
Copyright © 2023-2023 深圳慧题科技有限公司 粤ICP备2023109746号-1 粤公网安备44030002001082