wangzh913 2017-02-17 03:07 采纳率: 0%
浏览 1301
已结题

为什么父类调用的是子类的方法

 class SuperClass{
    public SuperClass()
    {
        System.out.println("父类构造器");
    }
    {
        System.out.println("父类代码块");
    }
    static
    {
        System.out.println("父类静态代码块");
    }
    public static String fieldSuperA = printStaticField();
    public String fieldSuperB = printCommonField();
    static String printStaticField()
    {  
        System.out.println("父类静态成员变量A初始化");  
        return "";  
    }  
    String printCommonField()
    {  
        System.out.println("父类实例变量B初始化");  
        return "";  
    }  
} 

class SubClass extends SuperClass{
    public static String fieldSubA = printStaticField();
    public String fieldSubB = printCommonField();
    public SubClass(){
        System.out.println("子类的构造器");
    }
    {
        System.out.println("子类代码块");
    }
    static{
        System.out.println("子类静态代码块");
    }
    static String printStaticField(){  
        System.out.println("子类静态成员变量A初始化");  
        return "";  
    }  
    String printCommonField(){  
        System.out.println("子类实例变量B初始化");  
        return "";  
    }  
}

public class MemeberInitializationTest {
    public static void main(String[] args) {
        new SubClass();
    }
}

运行结果如下:

图片说明

想知道为什么会出现这种情况。

  • 写回答

8条回答 默认 最新

  • m0_37553956 2017-02-17 03:08
    关注

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面