java中
1.下面各选项可以在A的子类中使用的是()
class A {
protected int method (int a, int b) {
return 0;
}
}
A.public int method (int a, int b) { return 0; }
B.private int method(int a, int b) { return 0; }
C.private int method(int a, long b) { return 0; }
D.public short method(int a, int b) { return 0; }
答案:AC
现问:1 为什么选项中ac可以,bd不可以
当覆盖一个方法时,方法的访问级别必须>=父类方法的访问级别,返回值要兼容父类的类型
a是方法覆盖,public比protected范围大
c是重载,没有任何问题
bd是覆盖,违背了方法覆盖的原则
A:答案,其实就是一个重载的过程
B:子类如果要重载父类的方法,那么访问权限必须大于等于父类的访问权限
C:相当于子类的一个新方法,可以使用
D:返回类型不一样