如果我有
class A
{
void foo(){}
void foo(int a){}
}
class B extends A
{
void foo(){}
}
A类中的 foo()方法是否会被覆盖和重载?
答案 0 :(得分:7)
是。它既重载又被覆盖。
使用方法foo
在classA中重载 foo(int a)
使用方法foo
foo()
答案 1 :(得分:2)
如果您从B对象调用foo(){}
,则该方法将被覆盖
如果从A对象中调用foo(int a){}
,那么该方法将会重载。
答案 2 :(得分:2)
A objA = new A();
objA.foo(10);
//(重载)
A objAB = new B();
MobjAB.foo();
//(覆盖,B的方法将被调用而不是A)