classti int m; publict(int m)(this.m-m;)public t change(t tl)tl=this;t1.m=14,return tl; 执行如下代码,输入结果? t(10)tl=new t2=new t(20)t t3=tl.change(t2),t t3.m=80; System.out.println(tl.m)System.out.println(t2.m)System.out.println(t3.m
时间: 2023-06-20 19:06:42 浏览: 50
执行代码后,输出结果如下:
```
10
14
80
```
解释如下:
1. 创建了一个 t 类型的对象 tl,值为 10。
2. 创建了一个 t 类型的对象 t2,值为 20。
3. 调用 tl 对象的 change 方法,将 tl 对象的值设为 14,并将这个对象返回给 t3。
4. 将 t3 对象的值设为 80。
5. 输出 tl 对象的值,结果为 10。
6. 输出 t2 对象的值,结果为 14(因为在 change 方法中,将 t1 对象的值设为了 14)。
7. 输出 t3 对象的值,结果为 80。
相关问题
class t{ int m; public t(int m){this.m = m;} public t change(t t1){ t1 = this; t1.m = 14; return t1; } }
这是一个简单的Java类,包含一个int类型的成员变量m和一个构造函数,构造函数传入一个int类型参数并将其赋值给m。还包含一个名为change的方法,该方法接受一个t类型的参数t1,将其赋值为当前对象(this),然后将t1的m成员变量设置为14,并返回t1。这个方法的意义不太清楚,可能是为了演示Java中对象的引用传递和值传递的区别。
class t{ int m; public t(int m){this.m=m;} public t change(t t1){ t1=this; t1.m=14; return t1; } } 执行如下代码,输入结果? t t1=new t(10); t t2=new t(20); t t3=t1.change(t2); t3.m=80; System.out.println(t1.m); System.out.println(t2.m); System.out.println(t3.m);
输出结果为:14 20 80。
在代码中,首先创建了两个 t 类型的对象 t1 和 t2,它们的 m 值分别为 10 和 20。接着执行 t1.change(t2) 方法,将 t2 对象传递给 change 方法,在 change 方法中,t1 和 t1 两个对象都指向了 t1 对象。因此,当执行 t1.m=14 时,t1 对象的 m 值被改为了 14,而 t2 对象的 m 值仍然是 20。
最后,将 t1.change(t2) 的返回值赋值给 t3,即 t3 也指向了 t1 对象。因此,当执行 t3.m=80 时,t1 和 t3 对象的 m 值都被改为了 80,而 t2 对象的 m 值仍然是 20。