只要子类中声明的成员变量和父类中的成员变量同名,子类就隐藏了继承的成员变量,
例子:
class People {//父类 public double x; public void setX(double x){ this.x=x; } public double getDoubleX(){ reutrn x; } } | class Studnet extends People{ int x;//重新声明X pulic int getX(){ // x=20.56;double类型的x是被int //的变量隐藏了 x=23; return x; } } |
方法重写:在子类中定义一个方法,这个方法的类型和父类的方法的类型一致;
目的:子类可以把父类的状态和行为改变为自身的状态和行为
重写后:若父类的方法f被子类继承,子类有权重写f,重写了父类的方法f,就隐藏了继承的方法f则子类对象调用的方法f是调用重写的方法f,
则子类想调用
想调用被隐藏的方法,必须使用关键字super
使用关键字调用父类的构造方法
子类不继承父类的构造方法,若想使用父类的构造方法,在子类的构造方法中使用super关键字(必须在子类构造方法中的头一条语句 )
public class Student{ int number; String name; Student(){ } Student(int numbet,String name){//构造函数 this.number=number; this.name=name; } public int getNumber(){ return number; } public String getName(){ return isMarriage; } } | public class UniverStudent extends Student{ boolean isMarriage; UniverStudent(int number,String name,boolean b){//构造函数 super(number,name);//调用父类的构造函数 } public boolean getIsMarriage(){ return isMarriage; } } |
可以是用super操纵被隐藏的成员变量和方法
用处:方问被子类隐藏的成员变量和方法
形式:super.play(),super.x 其中play()与x是类中的方法和成员变量