以下程序运行结果正确的是:【 】 public class ParamTest { public int v = 0; public static void main(String args[]) { int p1 = 0; ParamTest p2 = new ParamTest(); ParamTest p3 = new ParamTest(); int[] p4 = { 0 }; changePara(p1, p2, p3, p4); System.out.println("p1=" + p1); System.out.println("p2.v=" + p2.v); System.out.println("p3.v=" + p3.v); System.out.println("p4[0]=" + p4[0]); } public static void changePara(int p1, ParamTest p2, ParamTest p3, int[] p4) { p1 = 1; p2.v = 1; p3 = new ParamTest(); p3.v = 1; p4[0] = 1; } }
时间: 2024-04-02 17:31:26 浏览: 134
以下程序运行结果是:
p1=0
p2.v=1
p3.v=0
p4[0]=1
解析:
程序中定义了一个类 ParamTest,其中有一个成员变量 v。在 main 方法中创建了一个 int 类型的变量 p1,两个 ParamTest 类型的变量 p2 和 p3,以及一个 int 数组 p4。然后调用了 changePara 方法,将这些变量作为参数传递给该方法。在 changePara 方法中,对这些参数进行了修改。修改 p1 和 p3 对原来的变量没有影响,因为它们只是修改了方法内部的局部变量。修改 p2 对原来的变量有影响,因为它修改的是对象的成员变量。修改 p4 对原来的变量也有影响,因为它修改的是数组元素的值。因此,程序输出的结果是 p1=0,p2.v=1,p3.v=0,p4[0]=1。