class Animal { private int m = 100; public int setM(){ return m; } } class Dog extends Animal{ int m = 65; public int getM(){ return m; } } public class E { public static void main (String args []) { Dog dog = new Dog; System. out. printf (“%d:%d”, dog. setM(), dog. getM()); } }详细解读该段代码
时间: 2024-04-26 21:20:09 浏览: 15
该段代码定义了一个Animal类和一个Dog类,并在主函数中创建了一个Dog类的实例对象dog。Animal类中有一个私有成员变量m,并提供了一个公共方法setM()来获取这个成员变量的值。Dog类继承了Animal类,同时在自己的类中定义了一个同名的成员变量m,并提供了一个公共方法getM()来获取这个成员变量的值。
在主函数中,通过创建一个Dog类的实例对象dog,调用setM()方法获取了Animal类中的私有成员变量m的值100,并调用getM()方法获取了Dog类中的成员变量m的值65。最后将这两个值通过printf()方法输出。
需要注意的是,由于Dog类中定义了一个与Animal类同名的成员变量m,因此在调用getM()方法时返回的是Dog类中的成员变量m的值,而不是Animal类中的私有成员变量m的值。
相关问题
给出下列【代码】注释标注的代码的输出结果。 class Animal { int m = 100; public int setM(){ return m; } } class Dog extends Animal{ int m = 6; public int setM(){ return m; } } public class E { public static void main(String args[]){ Animal dog = new Dog(); System.out.printf("%d:%d",dog.setM(),dog.m); //【代码】 } }
输出结果为:6:100。
解析:Animal类有一个变量m和一个返回变量m的方法setM(),Dog类继承了Animal类,并且重写了setM()方法。在main方法中,创建了一个Animal类型的变量dog,并且将其赋值为一个Dog类型的实例。由于Dog类重写了setM()方法,所以当调用dog.setM()时,实际上调用的是Dog类中的setM()方法,返回的是Dog类中的变量m的值,即6。而当调用dog.m时,实际上访问的是Animal类中的变量m,即100。所以最终输出结果为6:100。
出下列【代码】注释标注的代码的输出结果。 class Animal{ int m = 100; } class Dog extends Animal { double m; public void setM(){ m = super.m+3.14; } } public class E { public static void main(String args[]){ Dog dog = new Dog(); dog.setM(); System.out.println(dog.m); //【代码】 } }
输出结果为:103.14。
解析:Animal类中有一个变量m,值为100,Dog类继承了Animal类,并且增加了一个变量m,类型为double。在setM()方法中,调用了super.m,获取了Animal类中的变量m的值,并且加上3.14,赋值给了Dog类中的变量m。在main方法中,创建了一个Dog类型的实例,调用其setM()方法,将Dog类中的变量m的值设为103.14。最后调用System.out.println(dog.m),输出Dog类中的变量m的值,即103.14。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)