请问一道题,是关于静态方法的,请看题目

yjjbmk yjjbmk 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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句时已经是子类的引用了吗???请高人指点!!!
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
yjjbmk
Java 51,407 成员 86,126 内容