已知类定义如下: public class t{ int x; public void change(t x){ x.x=x; } } 如果外部执行 t x1=new t(); x1.x=20; t x2=new t(); x2.x=10 x1.change(x2); System.out.println(x1.x+" "+x2.x); 输出结果是? A. 10 10 B. 20 10 C. 程序编译出错 D. 10 20
时间: 2024-04-29 22:19:34 浏览: 16
程序会输出 "10 10"。原因是在执行 `x1.change(x2)` 的时候,传递的是 x2 的引用,即 x1 和 x2 指向了同一个对象。在 `x1.change(x2)` 方法中,将 `x.x` 赋值为 `x`,即将 `x1.x` 的值赋为了 `x2` 的引用,因此 `x1.x` 和 `x2.x` 的值都变成了 10。
相关问题
已知类定义如下: class One1{ int x =10; void change(int x){ x=100; } } 分析执行如下语句,输出效果? int x=50; One1 o=new One1(); System.out.println("change前x="+x); o.change(x); System.out.println("change后x="+x); System.out.println("change前One对象的x属性值="+o.
执行以上代码,会输出以下结果:
```
change前x=50
change后x=50
change前One对象的x属性值=10
```
原因是:
1. 在执行 `o.change(x)` 方法时,虽然参数 `x` 与类中属性 `x` 重名,但是在方法内部使用的 `x` 是方法的局部变量,而不是类中的属性。
2. 在 `o.change(x)` 方法内部,虽然将 `x` 的值修改为了 `100`,但是只是修改了方法内部的局部变量,对类中属性 `x` 没有影响。
3. 因此,最终输出的 `change后x` 仍然是 `50`,而输出的 `One对象的x属性值` 仍然是类中属性 `x` 的初始值 `10`。
已知接口定义如下 interface cc{ pulic int x(); protected int y(int x); public void z(){} void m(cc d); } 定义有错的是?
在接口中,方法默认是 public 的,因此 `public int x();` 和 `public void z(){} ` 定义是正确的。
但是在接口中,不能使用访问控制符修饰方法,因此 `protected int y(int x);` 的定义是错误的。应该改为 `int y(int x);`。
最后一个方法 `void m(cc d);` 的定义也是正确的。
因此,唯一有错的是 `protected int y(int x);`,应该改为 `int y(int x);`。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)