属性的隐藏
定义:子类中声明了与超类中相同的成员变量名
a.从超类继承的变量将被隐藏
b.子类拥有了两个相同名字的变量,一个是继承自超类的变量,另一个是由自己
声明的变量
c.变量的区分:当子类执行它自己声明的方法时,所操作的就是它自己声明的变量,而当子类执行继承自超类的操作时,处理的是继承自超类的变量(访问从超类中继承的属性:super.属性)。
方法覆盖
a.如果子类不需使用从超类继承来的方法的功能,则可以声明自己的同
名方法,称为方法覆盖
b.覆盖方法的返回类型,方法名称,参数的个数及类型必须和被覆盖的
方法一模一样
c.只需在方法名前面使用不同的类名 或不同类的对象名即可区分覆盖方
法和被覆盖方法
d.覆盖方法的访问权限可以比被覆盖的宽松,但是不能更为严格
方法覆盖的注意事项
●必须覆盖的方法
派生类必须覆盖基类中的抽象的方法,否则派生类自身也成为抽象类.
●不能覆盖的方法
a.基类中声明为final的终结方法
b.基类中声明为static的静态方法
●调用父类被覆盖的方法:
super.overriddenMethodName( );