1.子类只能获取父类非私有成员
2.子父类中成员变量的名字不一样,直接获取父类的成员变量
3.子父类中成员变量名字是一样的,采用就近原则,即获取的是子类的成员变量
就近原则:
如果有局部变量,就使用局部变量
如果没有局部变量,有子类成员变量就使用子类的成员变量
如果没有局部变量和子类成员变量,有父类的成员变量,就使用父类成员变量
super关键字:
作用:用于访问父类的成员
注意:通过super调用父类构造方法的代码必须位于子类的构造方法的第一行,并且只能出现一次。
在子类的构造方法中一定会调用父类的某个构造方法,这时可以在子类的构造方法中通过super指定调用父类的哪个构造方法,如果没有指定,在实例化子类对象时,会自动调用父类无参的构造方法。
在定义一个类的时候,尽量在类中定义一个无参的构造方法避免被继承时出现错误。
this和super的区别:
this,当前对象的引用,调用子类的成员变量,调用子类的成员方法,在子类的构造方法第一行调用子类其他构造方法
super,子类对象的父类引用,调用父类 的成员变量,调用父类的成员方法,在子类的构造方法第一行调用父类的构造方法
网友评论