阅读下面程序,写出指定语句的输出结果,并解释原因。 public class Test_Hide_Override { public static void main(String... args){ A o = new C(); o.m1(); //① o.m2(); //② ((B)o).m1(); //③ ((A)(B)o).m1(); //④ ((A)(B)o).m2(); //⑤ } } class A{ public static void m1(){ System.out.println("A's m1"); } public void m2(){ System.out.println("A's m2"); } } class B extends A{ public static void m1(){ System.out.println("B's m1"); } public void m2(){ System.out.println("B's m2"); } } class C extends B{ public static void m1(){ System.out.println("C's m1"); } public void m2(){ System.out.println("C's m2"); } } 语句②的输出结果为 ,原因是
时间: 2023-06-02 08:03:49 浏览: 47
输出结果为"B's m2",因为在对象o中,m2是一个非静态方法,调用的是对象o的m2方法,由于对象o是类C的实例,所以调用的是C类中的m2方法。而m2方法被类B和类A继承并重写了,但由于对象o是C类的实例,所以只有C类中的m2方法会被调用。
相关问题
阅读下面程序,写出指定语句的输出结果,并解释原因。 public class Test_Hide_Override { public static void main(String... args){ A o = new C(); o.m1(); //① o.m2(); //② ((B)o).m1(); //③ ((A)(B)o).m1(); //④ ((A)(B)o).m2(); //⑤ } } class A{ public static void m1(){ System.out.println("A's m1"); } public void m2(){ System.out.println("A's m2"); } } class B extends A{ public static void m1(){ System.out.println("B's m1"); } public void m2(){ System.out.println("B's m2"); } } class C extends B{ public static void m1(){ System.out.println("C's m1"); } public void m2(){ System.out.println("C's m2"); } } 语句①的输出结果为 ,原因是
输出结果为"C's m1",原因是因为对象o指向的是C类的一个实例,而C类中重写了静态方法m1(),所以调用静态方法m1()时会调用C类中的方法。因为静态方法是在编译时就确定的,不涉及多态性,所以即使o的类型是A,在调用静态方法m1()时还是会调用C类中的方法。
请阅读下面的程序,在空白处填写正确的代码,使Son类的eat方法重写Father的eat方法。 public class Father { public void eat(String name){ System.out.println(name+"吃番薯"); } } class Son ______________{ @Override public void eat(String name){ System.out.println(name+"吃米饭"); } }
应该填写 `extends Father`,即:
```
class Son extends Father {
@Override
public void eat(String name){
System.out.println(name+"吃米饭");
}
}
```
这样,Son类就继承了Father类,并重写了其中的eat方法。当调用Son的eat方法时,将输出"某某吃米饭"。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)