在继承的关系中也存在着方法覆写的概念,所谓的方法覆写就是指子类定义了与父类中同名的方法,但是在方法覆写时必须考虑到权限,即被子类覆写的方法不能拥有比父类方法更加严格的访问权限。
提示:关于权限
private< default<public
例子:
package test2;
class Person {
void print() {
System.out.println("Person ---->void print(){}");
}
}
class Student extends Person {
public void print() {
System.out.println("student-----> void print(){}");
}
}
public class OverrideDemo1 {
public static void main(String args[]) {
new Student().print();
}
}
结果:
student-----> void print(){}
如果现在要在ilei的方法中访问父类的方法,则使用super关键字即可,代码如下所示
package test2;
class Person {
void print() {
System.out.println("Person ---->void print(){}");
}
}
class Student extends Person {
public void print() {
super.print();//调用父类中的print()方法
System.out.println("student-----> void print(){}");
}
}
public class OverrideDemo1 {
public static void main(String args[]) {
new Student().print();
}
}
结果:
Person ---->void print(){}
student-----> void print(){}
从程序可以看出,在子类中直接通过“super.方法()”形式可访问父类的相关方法
与方法覆写概念相同的还有另一个成为属性的覆盖