已知类定义如下 class p{ p(){System.out.println(1);} p(int x){System.out.println(2);} } class s extends p{ s(){System.out.println(3);} s(int x){System.out.println(4);} } 现执行 p p=new s(12); 输出结果是?
时间: 2024-02-18 08:00:29 浏览: 14
输出结果是:
```
1
4
```
首先创建了一个 `s` 对象,因为 `s` 继承自 `p`,所以会调用 `p` 的构造函数。由于 `p` 定义了一个无参构造函数,因此会默认调用父类无参构造函数,输出 `1`。
然后,执行 `new s(12)`,会调用 `s` 的带参构造函数,输出 `4`。
因此,最终输出结果是 `1 4`。
相关问题
已知类定义如下: 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`。
已知定义一个person类class Person { int x; Person(int t){ x = t; } void change(int x, Person p) { x = x; p.x = x; } }运行Person p1 =new person(20); Person p2 =new person(30); p1.change(10,p2); System.out.println(p1.x); System.out.println(p2.x);
运行上述代码,输出结果为:
```
20
10
```
原因是:
首先创建了两个Person对象p1和p2,它们的x值分别为20和30。
然后调用了p1的change方法,传入参数10和p2。在change方法中,x值被重新赋值为传入的参数10,而p.x值被赋值为x,即10。
所以,p1的x值依然是20,而p2的x值变成了10。
因此,最终输出p1.x的值为20,p2.x的值为10。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)