在Java中,当你重写一个方法时,你不能扩大该方法的访问权限。换句话说,你不能将一个受保护的方法重写为一个公共方法,也不能将一个私有方法重写为一个受保护或公共方法。但是,你可以缩小访问权限,例如将一个公共方法重写为一个受保护的方法。
以下是一些示例:
class Parent {
protected void foo() {
System.out.println("Parent");
}
}
class Child extends Parent {
// 编译错误:无法减小访问权限
// public void foo() {
// System.out.println("Child");
// }
}
class Parent {
public void foo() {
System.out.println("Parent");
}
}
class Child extends Parent {
@Override
protected void foo() {
System.out.println("Child");
}
}
class Parent {
private void foo() {
System.out.println("Parent");
}
}
class Child extends Parent {
// 编译错误:无法访问父类的私有方法
// public void foo() {
// System.out.println("Child");
// }
}
总之,当你重写一个方法时,你可以保持访问权限不变,或者缩小访问权限,但不能扩大访问权限。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。