qinglouchangke 2021-01-25 01:52 采纳率: 100%
浏览 17
已采纳

这段代码的打印过程是怎样的,我是小白,恳求诸位大佬指点一下

package LSQ;

class SuperClass{

	  int x;

	  SuperClass(){

	    x = 3;

	    System.out.println("in SuperClass:x=" + x);

	  }

	  void doSomething(){

	    System.out.println("in SuperClass.doSomething()");

	  }

	}

	class SubClass extends SuperClass{

	  int x;

	  SubClass(){

	    super();

	    x = 5;

	    System.out.println("in SubClass:x=" + x);

	  }

	  void doSomething(){

	    super.doSomething();

	    System.out.println("in SubClass.doSomething()");

	    System.out.println("super.x=" + super.x + " sub.x=" + x);

	  }

	}

	public class Star2{

	  public static void main(String[] args){

	    SubClass subC = new SubClass();

	    subC.doSomething();

	  }

	}
  • 写回答

3条回答 默认 最新

  • qq_25376897 2021-01-25 09:51
    关注

    执行顺序:

    首先,执行入口是main方法,从这里开始执行

    再看第一句,SubClass subC = new SubClass(); 会调用SubClass的构造方法

    这里面又有super();  这个是调用父类的方法,由于是在构造方法里面,所以super在这里是调用父类的构造方法,把x=3打印出来;打印完x=3,回到子类的构造方法,继续打印x=5

     

    上面是构造方法,接下来看main里面的第2句subC.doSomething(); 同理,先调用父类的doSomething,再调用子类的doSomething。

    总体的结果是这样的:

     

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 关于无人驾驶的航向角
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了