2012-10-18 73 views
1

如果我有重載/重寫在Java中

class A 
{ 
void foo(){} 
void foo(int a){} 
} 

class B extends A 
{ 
void foo(){} 
} 

該方法是否FOO()A級既重載和超載?

回答

7

是的。它被超載和覆蓋。

foo超載在CLASSA與方法foo(int a)

foo在B類與方法foo()

2

如果調用從B對象foo(){}重寫時,那麼該方法將被重寫。
如果您從A對象調用foo(int a){},那麼該方法將被重載。

2

A objA = new A();
objA.foo(10); //(重載)


MobjAB.foo(); //(重寫,B的方法將被調用,而不是A)