this 和 super的区别
this.
表示当前对象,通俗的讲“我”,在用法上可以访问本类自己定义的属性,不受访问修饰符的限制,可以访问父类定义的属性和行为,受访问修饰符的限制。
super.
表示当前对象的父类对象部分,通俗的讲“我爸”;在用法上不能访问本类自己定义的属性和行为,可以访问父类定义的属性和行为,但不是受访问修饰符的限制。
this.和super.的区别:
当我们调用一个方法重写前的实现用super,其余时候用this.,super可以看到的,this.一定能看到
this ()
在本类的构造方法中去调本类的另外一个构造方法,其目的:构造方法中的代码共享,只能写在构造方法中的第一行;不默认执行,必须手写指定。
super()
在本类的构造方法中,调用父类指定的构造方法,其目的:让父类的构造方法和子类的构造方法达到代码的共享,只能写在构造方法的第一行,不写也有默认,且默认的是父类的公共无参构造。
this()和super()区别
两者都是为了实现构造方法中代码的优化、复用,并必须的。