Please enable JavaScript.
Coggle requires JavaScript to display documents.
java面向对象(进阶), super - Coggle Diagram
java面向对象(进阶)
this
实例方法或构造器中使用当前对象的成员
一般可以省略,但如果形参与成员变量同名时,必须用this来区分成员变量和局部变量
同一个类中构造器互相调用
this():调用本类的无参构造器
this(实参列表):调用本类的有参构造器
注
不能出现递归调用
推论:如果一个类中声明了n个构造器,则最多有 n - 1个构造器中使用了"this(形参列表)"
this()和this(实参列表)只能声明在构造器首行
推论:在类的一个构造器中,最多只能声明一个"this(参数列表)"
super
子类中调用父类中同名的成员变量
实例变量与局部变量重名,可以在实例前加this区分
子类实例变量和父类实例变量重名,并且父类的该实例变量在子类仍然可见,父类必须加super
就近原则
父子类实例变量没有重名,this和super皆可
子类构造器中调用父类构造器
子类构造器首行没声明,默认调用父类无参
子类构造器首行声明
子类中调用父类被重写的方法
子类没有重写父类,可以直接调用,子类如果重写,必须通过super
方法前面没有super.和this.,先从当前子类找
方法前面有this.,从当前找
方法前面有super.,从直接父类找
在子类构造器中调用父类的构造器
访问父类中定义的属性
调用父类中定义的成员方法