私が持っている場合
class A
{
void foo(){}
void foo(int a){}
}
class B extends A
{
void foo(){}
}
クラスAのメソッドfoo()はオーバーライドされ、オーバーロードされますか?
私が持っている場合
class A
{
void foo(){}
void foo(int a){}
}
class B extends A
{
void foo(){}
}
クラスAのメソッドfoo()はオーバーライドされ、オーバーロードされますか?
はい。オーバーロードされ、オーバーライドされます。
fooメソッドを使用してclassAでオーバーロードfoo(int a)
fooクラスBでメソッドを使用してオーバーライドfoo()
Bオブジェクトから呼び出す場合foo(){}、そのメソッドはオーバーライドされます。
Aオブジェクトから呼び出すとfoo(int a){}、そのメソッドはオーバーロードされます。
A objA = new A();
objA.foo(10);//(オーバーロード)
A objAB = new B();
MobjAB.foo();//(オーバーライド、Aの代わりにBのメソッドが呼び出されます)