请问一道题,是关于静态方法的,请看题目
1.class A
2.{
3. public static void a(){
4. System.out.println("super's a()");
5. }
6.};
7.public class Child extends A
8.{
9. public static void a(){
10. System.out.println("child's a()");
11. }
12. public static void main(String[]args){
13. A ch=new Child();
14. System.out.println(ch);
15. ch.a();
16. }
17.};
我在运行后得到结果为:Ch@12498b5
super's a()
请问,这是为什么???
我知道,第13句,编译时ch为父类A的引用,而运行时是子类Child的引用。所以执行到14句时输出了子类的对象;可为什么到15句时,ch.a()调用的时父类中的方法呢??不是ch在执行到14句时已经是子类的引用了吗???请高人指点!!!
2.{
3. public static void a(){
4. System.out.println("super's a()");
5. }
6.};
7.public class Child extends A
8.{
9. public static void a(){
10. System.out.println("child's a()");
11. }
12. public static void main(String[]args){
13. A ch=new Child();
14. System.out.println(ch);
15. ch.a();
16. }
17.};
我在运行后得到结果为:Ch@12498b5
super's a()
请问,这是为什么???
我知道,第13句,编译时ch为父类A的引用,而运行时是子类Child的引用。所以执行到14句时输出了子类的对象;可为什么到15句时,ch.a()调用的时父类中的方法呢??不是ch在执行到14句时已经是子类的引用了吗???请高人指点!!!
...全文
相关推荐
一道常被人轻视的web前端常见面试题(JS)
本文将深入分析一道常被忽视的JavaScript面试题,该题涉及到多个JavaScript核心概念,包括变量提升、`this`指向、运算符优先级、原型链、继承以及全局变量污染等。
ctf一道逆向题
近期ctf逆向题的一道简单题,新手小白,用它来学习一下手动脱壳。。
acm程序例题2道,还有一道思考的题目(第四题)
根据给定的信息,本文将对ACM程序设计中的两道例题进行解析,并对一道思考题目(即第四题)进行简要介绍。首先,我们详细分析第一道例题及其涉及的知识点。
大二做的算法课设,题目已经忘了是什么了,只记得是一道acm题,用双向动
大二做的算法课设,题目已经忘了是什么了,只记得是一道acm题,用双向动态规划求解的。这里用C++解决_Algorithm-Course-Set
关于acm青蛙过河的一道题代码acm
关于acm青蛙过河的一道题代码acm,请大家参考之,希望有用处


