在Java中重载/重写

时间:2012-10-18 04:42:37

标签: java override overloading

如果我有

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

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

A类中的 foo()方法是否会被覆盖和重载?

3 个答案:

答案 0 :(得分:7)

是。它既重载又被覆盖。

使用方法foo

在classA中重载

foo(int a) 使用方法foo

在类B中重写

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)