super和this的区别在于this代表所在函数所属对象的引用,而super代表的是子类对象的父类.
super.属性代表父类的属性.在构造函数中super()代表的是父类空参构造函数,每次子类对象在初始化过程中肯定会运行父类的构造函数,因为子类的构造函数第一行有一调隐式super()构造函数(在不指定调用父类构造函数时).
子类在new对象时,会在堆中开辟一块空间,子类对象的引用变量会指向这块堆的地址,所以this是有地址的,
而子类在new对象时,会调用父类的构造函数,但是,父类在初始化时并没有在堆中开辟内存空间,只是把数据存在了子类对象中。这是我的理解。 |