1,方法重写
子类通过重写可以隐藏已继承的方法(隐藏:子类声明的成员变量与从父类继承的同名,就会隐藏所继承的成员变量)
要求:方法的名字、参数个数、参数的类型和父类方法完全相同。
2,super关键字
1)操作被隐藏的成员变量和方法
super.x ,super.y();
2)调用父类的构造方法
super(参数1,参数2) // 参数与所调用的父类的构造方法的参数类型相同
3,final关键字
final类不能被继承,final方法不允许子类重写,final变量就是常量
4,对象的上转型对象
用子类创建一个对象,并把这个对象的引用放到父类的对象中
Animal a; // 父类
Tiger b = new Tiger(); // 对象的上转型实体是子类负责创建的
a = b; // a是Tiger对象b的上转型对象(好比说“老虎是动物”)
上转型对象的特点:
1)上转型对象不能操作子类新增的成员变量,不能调用子类新增的成员方法。
2)上转型对象可以访问子类继承或隐藏的成员变量,也能调用子类继承或重写的方法。
3)上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法。
5,抽象类和抽象方法
1)抽象类可以有抽象方法,普通类不能有。
2)抽象类不能使用new创建该类的对象。但是该对象可以成为其子类对象的上转型对象,那么该对象就可以调用其子类重写的方法。
3)非抽象类继承该抽象类,必须重写该抽象类的所有抽象方法。抽象类可以重写也可以继承其抽象父类的抽象方法。
4)对于abstract方法,只允许声明,不允许实现;不允许final和abstract共同修饰一个类或方法。也不允许使用static修饰抽象方法。