super:用来调用父类中指定的操作,可以用来修饰属性、方法、构造器。 this:用来调用本类对象的操作。
1)当子类与父类中有同名的属性时,可以通过”super.此属性“显示的调用父类中声明的属性。 若想调用子类的同名的属性时,”this.此属性“,默认调用的是this。
2)当子类重写了父类的方法以后,在子类中若想再显示的调用父类的被重写的方法时,就需要使用”super.方法“。
3)super修饰构造器,通过在子类中使用”super(参数列表)“来显示调用父类中指定的构造器。 >在构造器内部,”super(参数列表)“必须要声明在首行! >所以构造器内部,”this(参数列表)“或”super(参数列表)“只能出现一个。 > 在构造器中,不显示的调用”this(参数列表)“或”super(参数列表)“其中任意一个时,默认调用的是父类空参的构造器。 >其实父类构造器也有其super,只是一般不写出来,默认的就是object类。
建议:设计一个类时,尽量要提供一个空参的构造器。因为当父类没有定义空参构造器时,子类构造器再默认调用super()时便会报错,所以尽量定义。
子类对象实例化