如果我有重載/重寫在Java中
class A
{
void foo(){}
void foo(int a){}
}
class B extends A
{
void foo(){}
}
該方法是否FOO()在A級既重載和超載?
如果我有重載/重寫在Java中
class A
{
void foo(){}
void foo(int a){}
}
class B extends A
{
void foo(){}
}
該方法是否FOO()在A級既重載和超載?
是的。它被超載和覆蓋。
foo
超載在CLASSA與方法foo(int a)
foo
在B類與方法foo()
如果調用從B對象foo(){}
重寫時,那麼該方法將被重寫。
如果您從A對象調用foo(int a){}
,那麼該方法將被重載。
A objA = new A();
objA.foo(10);
//(重載)
MobjAB.foo();
//(重寫,B的方法將被調用,而不是A)